Browse Source

Improvements

Marino Faggiana 7 years ago
parent
commit
e5370162fb

+ 4 - 4
iOSClient/AutoUpload/NCAutoUpload.m

@@ -499,14 +499,14 @@
         metadataNet = [[NCManageDatabase sharedInstance] getQueueUploadWithSelector:selectorUploadAutoUpload];
         if (metadataNet) {
             
-            if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground && (metadataNet.priority <= k_priorityAutoUploadErrorImage || metadataNet.priority <= k_priorityAutoUploadErrorVideo))
+            if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground && metadataNet.priority <= k_priorityAutoUploadError)
                 break;
             
             [[CCNetworking sharedNetworking] uploadFileFromAssetLocalIdentifier:metadataNet.assetLocalIdentifier fileName:metadataNet.fileName serverUrl:metadataNet.serverUrl cryptated:metadataNet.cryptated session:metadataNet.session taskStatus:metadataNet.taskStatus selector:metadataNet.selector selectorPost:metadataNet.selectorPost errorCode:metadataNet.errorCode delegate:app.activeMain];
             
             counterNewUpload++;
             
-            if (metadataNet.priority <= k_priorityAutoUploadErrorImage || metadataNet.priority <= k_priorityAutoUploadErrorVideo)
+            if (metadataNet.priority <= k_priorityAutoUploadError)
                 break;
             
         } else
@@ -533,14 +533,14 @@
             metadataNet =  [[NCManageDatabase sharedInstance] getQueueUploadWithSelector:selectorUploadAutoUploadAll];
             if (metadataNet) {
                 
-                if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground && (metadataNet.priority <= k_priorityAutoUploadErrorImage || metadataNet.priority <= k_priorityAutoUploadErrorVideo))
+                if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground && metadataNet.priority <= k_priorityAutoUploadError)
                     break;
 
                 [[CCNetworking sharedNetworking] uploadFileFromAssetLocalIdentifier:metadataNet.assetLocalIdentifier fileName:metadataNet.fileName serverUrl:metadataNet.serverUrl cryptated:metadataNet.cryptated session:metadataNet.session taskStatus:metadataNet.taskStatus selector:metadataNet.selector selectorPost:metadataNet.selectorPost errorCode:metadataNet.errorCode delegate:app.activeMain];
                 
                 counterNewUpload++;
         
-                if (metadataNet.priority <= k_priorityAutoUploadErrorImage || metadataNet.priority <= k_priorityAutoUploadErrorVideo)
+                if (metadataNet.priority <= k_priorityAutoUploadError)
                     break;
                 
             } else

+ 2 - 2
iOSClient/CCGlobal.h

@@ -281,8 +281,8 @@ extern NSString *const urlBaseUploadDB;
 // Priority Auto Upload
 #define k_priorityAutoUploadImage                       0
 #define k_priorityAutoUploadVideo                       -1
-#define k_priorityAutoUploadErrorImage                  -2
-#define k_priorityAutoUploadErrorVideo                  -3
+#define k_priorityAutoUploadError                       -2
+#define k_priorityAutoUploadStop                        -4
 
 // -----------------------------------------------------------------------------------------------------------
 // -----------------------------------------------------------------------------------------------------------

+ 1 - 1
iOSClient/Database/NCManageDatabase.swift

@@ -1803,7 +1803,7 @@ class NCManageDatabase: NSObject {
         }
         
         // priority
-        if (result.priority <= Int(k_priorityAutoUploadErrorImage) || result.priority <= Int(k_priorityAutoUploadErrorVideo)) {
+        if (result.priority <= Int(k_priorityAutoUploadError)) {
             result.priority = result.priority - 1            
         } else {
             result.priority = priority

+ 14 - 5
iOSClient/Main/CCMain.m

@@ -1606,16 +1606,25 @@
 {
     // Auto Upload
     if([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll]) {
+                
+        if ([[NCManageDatabase sharedInstance] getPriorityQueueUploadWithAssetLocalIdentifier:metadataNet.assetLocalIdentifier] > k_priorityAutoUploadStop) {
         
-        if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
+            // Activity
+            [[NCManageDatabase sharedInstance] addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:message type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:app.activeUrl];
             
-            // ONLY BACKGROUND
-            [[NCAutoUpload sharedInstance] performSelectorOnMainThread:@selector(loadAutoUpload:) withObject:[NSNumber numberWithInt:k_maxConcurrentOperationDownloadUploadBackground] waitUntilDone:NO];
+            // Change priority Auto Upload
+            [[NCManageDatabase sharedInstance] setPriorityQueueUploadWithAssetLocalIdentifier:metadataNet.assetLocalIdentifier priority:k_priorityAutoUploadError];
             
         } else {
             
-            // ONLY FOREFROUND
-            [[NCAutoUpload sharedInstance] performSelectorOnMainThread:@selector(loadAutoUpload:) withObject:[NSNumber numberWithInt:k_maxConcurrentOperationDownloadUpload] waitUntilDone:NO];
+            // Delete record on Table Auto Upload
+            if ([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll])
+                [[NCManageDatabase sharedInstance] deleteQueueUploadWithAssetLocalIdentifier:metadataNet.assetLocalIdentifier selector:selector];
+            
+            // Activity
+            [[NCManageDatabase sharedInstance] addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:@"Delete too many retry" type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:app.activeUrl];
+            
+            [app messageNotification:@"_upload_file_" description:@"Delete too many retry, see Activity for more info" visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
         }
     }
     

+ 15 - 65
iOSClient/Networking/CCNetworking.m

@@ -880,39 +880,14 @@
                 
             if (error) {
                 
-                // Activity
-                [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:[NSString stringWithFormat:@"Image request failed [%@]", error.description] type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:_activeUrl];
-                
-                if ([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll]) {
-                    
-                    //
-                    if ([[NCManageDatabase sharedInstance] getPriorityQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier] <= -10) {
-                        
-                        // Delete record on Table Auto Upload
-                        if ([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll])
-                            [[NCManageDatabase sharedInstance] deleteQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier selector:selector];
-                        
-                        // Activity
-                        [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:[NSString stringWithFormat:@"%@ [%@]",NSLocalizedString(@"_read_file_error_", nil), error.description] type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:_activeUrl];                        
-                        
-                    } else {
-                    
-                        // Change priority Auto Upload
-                        [[NCManageDatabase sharedInstance] setPriorityQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier priority:k_priorityAutoUploadErrorImage];
-                    }
-                    
-                } else {
-                    
-                    // Error for uploadFileFailure
-                    dispatch_async(dispatch_get_main_queue(), ^{
-                        if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-                            [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Image request failed [%@]", error.description] errorCode:error.code];
-                    });
-                }
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
+                    [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Image request failed [%@]", error.description] errorCode:error.code];
+                });
                 
             } else {
                     
-                //OK
+                // OOOOOK
                 dispatch_async(dispatch_get_main_queue(), ^{
                     [self upload:fileName serverUrl:serverUrl cryptated:cryptated template:NO onlyPlist:NO fileNameTemplate:nil assetLocalIdentifier:assetLocalIdentifier session:session taskStatus:taskStatus selector:selector selectorPost:selectorPost errorCode:errorCode delegate:delegate];
                 });
@@ -944,51 +919,26 @@
                         
                     if (AVAssetExportSessionStatusCompleted == exportSession.status) {
                             
-                        // OK
+                        // OOOOOOK
                         dispatch_async(dispatch_get_main_queue(), ^{
                             [self upload:fileName serverUrl:serverUrl cryptated:cryptated template:NO onlyPlist:NO fileNameTemplate:nil assetLocalIdentifier:assetLocalIdentifier session:session taskStatus:taskStatus selector:selector selectorPost:selectorPost errorCode:errorCode delegate:delegate];
                         });
                             
-                    } else if (AVAssetExportSessionStatusFailed == exportSession.status) {
+                    } else  {
                         
-                        // Activity
-                        [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:[NSString stringWithFormat:@"Video export failed [%@]", exportSession.error.description] type:k_activityTypeFailure verbose:k_activityVerboseDefault activeUrl:_activeUrl];
-                        
-                        if ([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll]) {
-                            
-                            // Change priority Auto Upload
-                            [[NCManageDatabase sharedInstance] setPriorityQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier priority:k_priorityAutoUploadErrorVideo];
-                        } else {
-                            
-                            // Error for uploadFileFailure
-                            dispatch_async(dispatch_get_main_queue(), ^{
-                                if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-                                    [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Video export failed [%@]", exportSession.error.description] errorCode:exportSession.error.code];
-                            });
-                        }
-                    } else {
-                        NSLog(@"Export Session Status: %ld", (long)exportSession.status);
+                        dispatch_async(dispatch_get_main_queue(), ^{
+                            if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
+                                [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Video export failed [%@]", exportSession.error.description] errorCode:exportSession.error.code];
+                        });
                     }
                 }];
                     
             } else {
                 
-                // Activity
-                [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:@"Create Video session failed" type:k_activityTypeFailure verbose:k_activityVerboseDefault activeUrl:_activeUrl];
-
-                if ([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll]) {
-                    
-                    // Change priority Auto Upload
-                    [[NCManageDatabase sharedInstance] setPriorityQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier priority:k_priorityAutoUploadErrorVideo];
-                
-                } else {
-                    
-                    // Error for uploadFileFailure
-                    dispatch_async(dispatch_get_main_queue(), ^{
-                        if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-                            [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:@"Create Video session failed" errorCode:0];
-                    });
-                }
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
+                    [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:@"Create Video session failed [Internal error]" errorCode:k_CCErrorInternalError];
+                });
             }
         }];
     }