marinofaggiana %!s(int64=4) %!d(string=hai) anos
pai
achega
2978cf7821

+ 32 - 93
iOSClient/Networking/NCNetworkingAutoUpload.swift

@@ -62,112 +62,51 @@ class NCNetworkingAutoUpload: NSObject {
         if sizeUpload > k_maxSizeOperationUpload {
             return
         }
+        
         timerProcess?.invalidate()
         
         debugPrint("[LOG] PROCESS-AUTO-UPLOAD \(counterUpload)")
     
-        // ------------------------- <selector Upload> -------------------------
-         
-        if counterUpload < maxConcurrentOperationUpload {
-            let limit = maxConcurrentOperationUpload - counterUpload
-            let predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d", selectorUploadFile, k_metadataStatusWaitUpload)
-            let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: predicate, page: 1, limit: limit, sorted: "date", ascending: true)
-            for metadata in metadatas {
-                if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account) {
-                    if UIApplication.shared.applicationState == .background { break }
-                    maxConcurrentOperationUpload = 1
-                    counterUpload += 1
-                    NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
-                    startTimer()
-                    return
-                } else {
-                    counterUpload += 1
-                    NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
-                    sizeUpload = sizeUpload + Int(metadata.size)
-                    if sizeUpload > k_maxSizeOperationUpload {
-                        startTimer()
-                        return
-                    }
-                }
-            }
-        }
-        if counterUpload >= maxConcurrentOperationUpload {
-            startTimer()
-            return
-        }
-        
-        // ------------------------- <selector Auto Upload> -------------------------
-          
-        if counterUpload < maxConcurrentOperationUpload {
-            let limit = maxConcurrentOperationUpload - counterUpload
-            var predicate = NSPredicate()
-            if UIApplication.shared.applicationState == .background {
-                predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadAutoUpload, k_metadataStatusWaitUpload, k_metadataTypeFile_video)
-            } else {
-                predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d", selectorUploadAutoUpload, k_metadataStatusWaitUpload)
+        let sessionSelectors = [selectorUploadFile, selectorUploadAutoUpload, selectorUploadAutoUploadAll]
+        for sessionSelector in sessionSelectors {
+            let metadatasInError = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "sessionSelector == %@ AND status == %d", sessionSelector, k_metadataStatusUploadError))
+            if metadatasInError.count >= k_maxErrorAutoUploadAll {
+                NCContentPresenter.shared.messageNotification("_error_", description: "_too_errors_upload_", delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: Int(k_CCErrorInternalError))
+                startTimer()
+                return
             }
-            let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: predicate, page: 1, limit: limit, sorted: "date", ascending: true)
-            for metadata in metadatas {
-                if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account) {
-                    if UIApplication.shared.applicationState == .background { break }
-                    maxConcurrentOperationUpload = 1
-                    counterUpload += 1
-                    NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
-                    startTimer()
-                    return
+            if counterUpload < maxConcurrentOperationUpload {
+                let limit = maxConcurrentOperationUpload - counterUpload
+                var predicate = NSPredicate()
+                if UIApplication.shared.applicationState == .background {
+                    predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d AND typeFile != %@", sessionSelector, k_metadataStatusWaitUpload, k_metadataTypeFile_video)
                 } else {
-                    counterUpload += 1
-                    NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
-                    sizeUpload = sizeUpload + Int(metadata.size)
-                    if sizeUpload > k_maxSizeOperationUpload {
-                        startTimer()
-                        return
-                    }
+                    predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d", sessionSelector, k_metadataStatusWaitUpload)
                 }
-            }
-        }
-        if counterUpload >= maxConcurrentOperationUpload {
-            startTimer()
-            return
-        }
-        
-        // ------------------------- <selector Auto Upload All> ----------------------
-        
-        let metadatasInError = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "sessionSelector == %@ AND status == %d", selectorUploadAutoUploadAll, k_metadataStatusUploadError))
-        if metadatasInError.count >= k_maxErrorAutoUploadAll {
-            NCContentPresenter.shared.messageNotification("_error_", description: "_too_errors_automatic_all_", delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: Int(k_CCErrorInternalError))
-        } else {
-            let limit = maxConcurrentOperationUpload - counterUpload
-            var predicate = NSPredicate()
-            if UIApplication.shared.applicationState == .background {
-                predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadAutoUploadAll, k_metadataStatusWaitUpload, k_metadataTypeFile_video)
-            } else {
-                predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d", selectorUploadAutoUploadAll, k_metadataStatusWaitUpload)
-            }
-            let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: predicate, page: 1, limit: limit, sorted: "date", ascending: true)
-            for metadata in metadatas {
-                if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account) {
-                    if UIApplication.shared.applicationState == .background { break }
-                    maxConcurrentOperationUpload = 1
-                    counterUpload += 1
-                    NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
-                    startTimer()
-                    return
-                } else {
-                    counterUpload += 1
-                    NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
-                    sizeUpload = sizeUpload + Int(metadata.size)
-                    if sizeUpload > k_maxSizeOperationUpload {
+                let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: predicate, page: 1, limit: limit, sorted: "date", ascending: true)
+                for metadata in metadatas {
+                    if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account) {
+                        if UIApplication.shared.applicationState == .background { break }
+                        maxConcurrentOperationUpload = 1
+                        counterUpload += 1
+                        NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
                         startTimer()
                         return
+                    } else {
+                        counterUpload += 1
+                        NCNetworking.shared.upload(metadata: metadata, background: true) { (_, _) in }
+                        sizeUpload = sizeUpload + Int(metadata.size)
+                        if sizeUpload > k_maxSizeOperationUpload {
+                            startTimer()
+                            return
+                        }
                     }
                 }
+            } else {
+                startTimer()
+                return
             }
         }
-        if counterUpload >= maxConcurrentOperationUpload {
-            startTimer()
-            return
-        }
         
         // No upload available ? --> Retry Upload in Error
         if counterUpload == 0 {

+ 1 - 1
iOSClient/Supporting Files/en.lproj/Localizable.strings

@@ -69,7 +69,7 @@
 "_video_"                   = "Video";
 "_overwrite_"               = "Overwrite";
 "_transfers_in_queue_"      = "Tranfers in progress, please wait…";
-"_too_errors_automatic_all_"= "Too many errors, go to \"Control Center\" to verify the problem";
+"_too_errors_upload_"       = "Too many errors, please verify the problem";
 "_create_folder_"           = "Create folder";
 "_create_folder_on_"        = "Create folder on";
 "_close_"                   = "Close";