Browse Source

fix auto upload

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 years ago
parent
commit
0e7cb6d785

+ 2 - 2
Nextcloud.xcodeproj/project.pbxproj

@@ -3607,7 +3607,7 @@
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 2;
 				DEVELOPMENT_TEAM = NKUJUXUJ3B;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;
@@ -3670,7 +3670,7 @@
 				CLANG_WARN_UNREACHABLE_CODE = YES;
 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 				COPY_PHASE_STRIP = NO;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 2;
 				DEVELOPMENT_TEAM = NKUJUXUJ3B;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;

+ 2 - 2
iOSClient/Data/NCManageDatabase.swift

@@ -86,12 +86,12 @@ class NCManageDatabase: NSObject {
 
                 migrationBlock: { migration, oldSchemaVersion in
 
-                    if oldSchemaVersion < 253 {
+                    if oldSchemaVersion < 254 {
                         migration.deleteData(forType: tableActivity.className())
                         migration.deleteData(forType: tableActivityLatestId.className())
                         migration.deleteData(forType: tableActivityPreview.className())
                         migration.deleteData(forType: tableActivitySubjectRich.className())
-                        migration.deleteData(forType: tableShare.className())
+                        migration.deleteData(forType: tableMetadata.className())
                     }
 
                 }, shouldCompactOnLaunch: { totalBytes, usedBytes in

+ 1 - 1
iOSClient/NCGlobal.swift

@@ -116,7 +116,7 @@ class NCGlobal: NSObject {
     // Database Realm
     //
     let databaseDefault                             = "nextcloud.realm"
-    let databaseSchemaVersion: UInt64               = 253
+    let databaseSchemaVersion: UInt64               = 254
 
     // Intro selector
     //

+ 2 - 2
iOSClient/Networking/NCAutoUpload.swift

@@ -168,7 +168,7 @@ class NCAutoUpload: NSObject {
             }
 
             self.endForAssetToUpload = true
-            if selector == NCGlobal.shared.selectorUploadAutoUploadAll {
+            if selector == NCGlobal.shared.selectorUploadAutoUploadAll || self.applicationState == .active {
                 self.appDelegate?.networkingProcessUpload?.createProcessUploads(metadatas: metadatas, completion: completion)
             } else {
                 var metadatasForUpload: [tableMetadata] = []
@@ -177,7 +177,7 @@ class NCAutoUpload: NSObject {
                     metadatasForUpload.append(metadata)
                 }
                 NCManageDatabase.shared.addMetadatas(metadatasForUpload)
-                NCNetworking.shared.createUploadProcessAutoUpload(completion: completion)
+                NCNetworking.shared.createUploadProcessAutoUploadInBackground(completion: completion)
             }
         }
     }

+ 1 - 1
iOSClient/Networking/NCNetworking.swift

@@ -593,7 +593,7 @@ import Photos
         }
     }
 
-    func createUploadProcessAutoUpload(completion: @escaping (_ items: Int) -> Void) {
+    func createUploadProcessAutoUploadInBackground(completion: @escaping (_ items: Int) -> Void) {
 
         var numStartUpload: Int = 0
         let isWiFi = NCNetworking.shared.networkReachability == NKCommon.typeReachability.reachableEthernetOrWiFi

+ 6 - 5
iOSClient/Networking/NCNetworkingProcessUpload.swift

@@ -34,22 +34,22 @@ class NCNetworkingProcessUpload: NSObject {
         startTimer()
     }
 
-    private func startProcess(completion: @escaping (_ items: Int) -> Void) {
+    private func startProcess() {
         if timerProcess?.isValid ?? false {
-            DispatchQueue.main.async { self.processForeground() }
+            DispatchQueue.main.async { self.process() }
         }
     }
 
     func startTimer() {
         timerProcess?.invalidate()
-        timerProcess = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(processForeground), userInfo: nil, repeats: true)
+        timerProcess = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(process), userInfo: nil, repeats: true)
     }
 
     func stopTimer() {
         timerProcess?.invalidate()
     }
 
-    @objc private func processForeground() {
+    @objc private func process() {
         
         guard let account = NCManageDatabase.shared.getActiveAccount(), UIApplication.shared.applicationState == .active else { return }
         let metadatasUpload = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "status == %d OR status == %d", NCGlobal.shared.metadataStatusInUpload, NCGlobal.shared.metadataStatusUploading))
@@ -183,7 +183,8 @@ class NCNetworkingProcessUpload: NSObject {
             metadatasForUpload.append(metadata)
         }
         NCManageDatabase.shared.addMetadatas(metadatasForUpload)
-        startProcess(completion: completion)
+        startProcess()
+        completion(metadatasForUpload.count)
     }
 
     // MARK: -