marinofaggiana 4 years ago
parent
commit
7a0bf8b0fc

+ 6 - 2
iOSClient/Database/NCManageDatabase.swift

@@ -2140,7 +2140,7 @@ class NCManageDatabase: NSObject {
         }
     }
     
-    @objc func getMetadata(predicate: NSPredicate, sorted: String, ascending: Bool) -> tableMetadata? {
+    @objc func getMetadata(predicate: NSPredicate, sorted: String, ascending: Bool, freeze: Bool = false) -> tableMetadata? {
         
         let realm = try! Realm()
         realm.refresh()
@@ -2148,7 +2148,11 @@ class NCManageDatabase: NSObject {
         let results = realm.objects(tableMetadata.self).filter(predicate).sorted(byKeyPath: sorted, ascending: ascending)
         
         if (results.count > 0) {
-            return tableMetadata.init(value: results[0])
+            if freeze {
+                return results[0].freeze()
+            } else {
+                return tableMetadata.init(value: results[0])
+            }
         } else {
             return nil
         }

+ 4 - 4
iOSClient/Networking/NCNetworkingAutoUpload.swift

@@ -69,8 +69,8 @@ class NCNetworkingAutoUpload: NSObject {
             } else {
                 predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d", selectorUploadFile, k_metadataStatusWaitUpload)
             }
-             
-            if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: predicate, freeze: true) {
+
+            if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: predicate, sorted: "date", ascending: true, freeze: true) {
                 if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account) {
                     if UIApplication.shared.applicationState == .background { break }
                     maxConcurrentOperationUpload = 1
@@ -97,7 +97,7 @@ class NCNetworkingAutoUpload: NSObject {
                 predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d", selectorUploadAutoUpload, k_metadataStatusWaitUpload)
             }
              
-            if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: predicate, freeze: true) {
+            if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: predicate, sorted: "date", ascending: true, freeze: true) {
                 if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account) {
                     if UIApplication.shared.applicationState == .background { break }
                     maxConcurrentOperationUpload = 1
@@ -128,7 +128,7 @@ class NCNetworkingAutoUpload: NSObject {
                     predicate = NSPredicate(format: "sessionSelector == %@ AND status == %d", selectorUploadAutoUploadAll, k_metadataStatusWaitUpload)
                 }
                         
-                if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: predicate, freeze: true) {
+                if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: predicate, sorted: "date", ascending: true, freeze: true) {
                     if CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account) {
                         if UIApplication.shared.applicationState == .background { break }
                                 maxConcurrentOperationUpload = 1