Marino Faggiana 7 жил өмнө
parent
commit
f0dc9ecbf5

+ 16 - 5
iOSClient/Database/NCManageDatabase.swift

@@ -1772,6 +1772,21 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    func getPriorityQueueUpload(assetLocalIdentifier: String) -> NSInteger {
+        
+        guard let tableAccount = self.getAccountActive() else {
+            return 0
+        }
+        
+        let realm = try! Realm()
+        
+        guard let result = realm.objects(tableQueueUpload.self).filter("account = %@ AND assetLocalIdentifier = %@", tableAccount.account, assetLocalIdentifier).first else {
+            return 0
+        }
+        
+        return result.priority
+    }
+
     func setPriorityQueueUpload(assetLocalIdentifier: String, priority: NSInteger) {
         
         guard let tableAccount = self.getAccountActive() else {
@@ -1789,11 +1804,7 @@ class NCManageDatabase: NSObject {
         
         // priority
         if (result.priority <= Int(k_priorityAutoUploadErrorImage) || result.priority <= Int(k_priorityAutoUploadErrorVideo)) {
-            result.priority = result.priority - 1
-            if result.priority == -10 {
-                result.priority = priority
-            }
-            
+            result.priority = result.priority - 1            
         } else {
             result.priority = priority
         }

+ 16 - 2
iOSClient/Networking/CCNetworking.m

@@ -885,8 +885,22 @@
                 
                 if ([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll]) {
                     
-                    // Change priority Auto Upload
-                    [[NCManageDatabase sharedInstance] setPriorityQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier priority:k_priorityAutoUploadErrorImage];
+                    //
+                    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