marinofaggiana 4 anos atrás
pai
commit
1d84a50145

+ 2 - 2
iOSClient/Main/CCMain.m

@@ -1107,7 +1107,7 @@
         tableMetadata *metadataSection = [[NCMainCommon shared] getMetadataFromSectionDataSourceIndexPath:indexPath sectionDataSource:sectionDataSource];
         
         if (metadataSection) {
-            [[NCMainCommon shared] cancelTransferMetadata:metadataSection uploadStatusForcedStart:false];
+            [[NCNetworking shared] cancelTransferMetadata:metadataSection uploadStatusForcedStart:false];
         }
     }
 }
@@ -1121,7 +1121,7 @@
     
     [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_cancel_all_task_", nil) style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
         [NCUtility.shared startActivityIndicatorWithView:self.view bottom:0];
-        [[NCMainCommon shared] cancelAllTransfer];
+        [[NCNetworking shared] cancelAllTransferWithAccount:appDelegate.account];
         [NCUtility.shared stopActivityIndicator];
     }]];
     

+ 1 - 1
iOSClient/Main/Collection/NCCollectionViewCommon.swift

@@ -596,7 +596,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
         if namedButtonMore == "more" {
             toggleMoreMenu(viewController: tabBarController, metadata: metadata)
         } else if namedButtonMore == "stop" {
-            NCMainCommon.shared.cancelTransferMetadata(metadata, uploadStatusForcedStart: false)
+            NCNetworking.shared.cancelTransferMetadata(metadata, uploadStatusForcedStart: false)
         }
     }
     

+ 0 - 78
iOSClient/Main/NCMainCommon.swift

@@ -129,85 +129,7 @@ class NCMainCommon: NSObject, NCAudioRecorderViewControllerDelegate, UIDocumentI
         }
     }
     
-    @objc func cancelTransferMetadata(_ metadata: tableMetadata, uploadStatusForcedStart: Bool) {
-        
-        if metadata.session.count == 0 {
-            NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
-            NotificationCenter.default.postOnMainThread(name: k_notificationCenter_reloadDataSource, userInfo: ["serverUrl":metadata.serverUrl])
-            return
-        }
-        let metadata = tableMetadata.init(value: metadata)
-
-        if metadata.session == NCCommunicationCommon.shared.sessionIdentifierDownload {
-            NCNetworking.shared.cancelDownload(ocId: metadata.ocId, serverUrl: metadata.serverUrl, fileNameView: metadata.fileNameView)
-        } else if metadata.session == NCCommunicationCommon.shared.sessionIdentifierUpload {
-            NCNetworking.shared.cancelUpload(ocId: metadata.ocId)
-        } else {
-        
-            var session: URLSession?
-            if metadata.session == NCNetworking.shared.sessionIdentifierBackground {
-                session = NCNetworking.shared.sessionManagerBackground
-            } else if metadata.session == NCNetworking.shared.sessionIdentifierBackgroundWWan {
-                session = NCNetworking.shared.sessionManagerBackgroundWWan
-            } else if metadata.session == NCNetworking.shared.sessionIdentifierBackgroundExtension {
-                session = NCNetworking.shared.sessionManagerBackgroundExtension
-            }
-            
-            session!.getTasksWithCompletionHandler { (dataTasks, uploadTasks, downloadTasks) in
-                
-                var cancel = false
-                
-                if metadata.session.count > 0 && metadata.session.contains("upload") {
-                    for task in uploadTasks {
-                        if task.taskIdentifier == metadata.sessionTaskIdentifier {
-                            if uploadStatusForcedStart {
-                                metadata.status = Int(k_metadataStatusUploadForcedStart)
-                                NCManageDatabase.sharedInstance.addMetadata(metadata)
-                            }
-                            task.cancel()
-                            cancel = true
-                        }
-                    }
-                    if cancel == false {
-                        do {
-                            try FileManager.default.removeItem(atPath: CCUtility.getDirectoryProviderStorageOcId(metadata.ocId))
-                        }
-                        catch { }
-                        NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
-                        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
-                            NotificationCenter.default.postOnMainThread(name: k_notificationCenter_reloadDataSource, userInfo: ["serverUrl":metadata.serverUrl])
-                        }
-                    }
-                }
-            }
-        }
-    }
     
-    @objc func cancelAllTransfer() {
-       
-        let appDelegate = UIApplication.shared.delegate as! AppDelegate
-
-        // Delete k_metadataStatusWaitUpload OR k_metadataStatusUploadError
-        NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "status == %d OR status == %d", appDelegate.account, k_metadataStatusWaitUpload, k_metadataStatusUploadError))
-        
-        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
-            let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "status != %d", k_metadataStatusNormal), sorted: "fileName", ascending: true)
-            for metadata in metadatas {
-                
-                // Modify
-                if (metadata.status == k_metadataStatusWaitDownload || metadata.status == k_metadataStatusDownloadError) {
-                    NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: "", sessionTaskIdentifier: 0, status: Int(k_metadataStatusNormal))
-                }
-                
-                // Cancel Task
-                if metadata.status == k_metadataStatusDownloading || metadata.status == k_metadataStatusUploading {
-                    self.cancelTransferMetadata(metadata, uploadStatusForcedStart: false)
-                }
-            }
-        }
-        
-        NCOperationQueue.shared.downloadCancelAll()
-    }
     
     //MARK: -
     

+ 81 - 0
iOSClient/Networking/NCNetworking.swift

@@ -633,6 +633,87 @@ import Queuer
         
         NotificationCenter.default.postOnMainThread(name: k_notificationCenter_uploadCancelFile, userInfo: ["metadata":metadata])
     }
+    
+    //MARK: - Transfer (Download Upload)
+    
+    @objc func cancelTransferMetadata(_ metadata: tableMetadata, uploadStatusForcedStart: Bool) {
+        
+        if metadata.session.count == 0 {
+            NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
+            NotificationCenter.default.postOnMainThread(name: k_notificationCenter_reloadDataSource, userInfo: ["serverUrl":metadata.serverUrl])
+            return
+        }
+        let metadata = tableMetadata.init(value: metadata)
+
+        if metadata.session == NCCommunicationCommon.shared.sessionIdentifierDownload {
+            NCNetworking.shared.cancelDownload(ocId: metadata.ocId, serverUrl: metadata.serverUrl, fileNameView: metadata.fileNameView)
+        } else if metadata.session == NCCommunicationCommon.shared.sessionIdentifierUpload {
+            NCNetworking.shared.cancelUpload(ocId: metadata.ocId)
+        } else {
+        
+            var session: URLSession?
+            if metadata.session == NCNetworking.shared.sessionIdentifierBackground {
+                session = NCNetworking.shared.sessionManagerBackground
+            } else if metadata.session == NCNetworking.shared.sessionIdentifierBackgroundWWan {
+                session = NCNetworking.shared.sessionManagerBackgroundWWan
+            } else if metadata.session == NCNetworking.shared.sessionIdentifierBackgroundExtension {
+                session = NCNetworking.shared.sessionManagerBackgroundExtension
+            }
+            
+            session!.getTasksWithCompletionHandler { (dataTasks, uploadTasks, downloadTasks) in
+                
+                var cancel = false
+                
+                if metadata.session.count > 0 && metadata.session.contains("upload") {
+                    for task in uploadTasks {
+                        if task.taskIdentifier == metadata.sessionTaskIdentifier {
+                            if uploadStatusForcedStart {
+                                metadata.status = Int(k_metadataStatusUploadForcedStart)
+                                NCManageDatabase.sharedInstance.addMetadata(metadata)
+                            }
+                            task.cancel()
+                            cancel = true
+                        }
+                    }
+                    if cancel == false {
+                        do {
+                            try FileManager.default.removeItem(atPath: CCUtility.getDirectoryProviderStorageOcId(metadata.ocId))
+                        }
+                        catch { }
+                        NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
+                        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
+                            NotificationCenter.default.postOnMainThread(name: k_notificationCenter_reloadDataSource, userInfo: ["serverUrl":metadata.serverUrl])
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    @objc func cancelAllTransfer(account: String) {
+       
+        // Delete k_metadataStatusWaitUpload OR k_metadataStatusUploadError
+        NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "status == %d OR status == %d", account, k_metadataStatusWaitUpload, k_metadataStatusUploadError))
+        
+        let metadatas = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "status != %d", k_metadataStatusNormal), sorted: "fileName", ascending: true)
+        
+        for metadata in metadatas {
+            
+            // Modify
+            if (metadata.status == k_metadataStatusWaitDownload || metadata.status == k_metadataStatusDownloadError) {
+                NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: "", sessionTaskIdentifier: 0, status: Int(k_metadataStatusNormal))
+            }
+            
+            // Cancel Task
+            if metadata.status == k_metadataStatusDownloading || metadata.status == k_metadataStatusUploading {
+                self.cancelTransferMetadata(metadata, uploadStatusForcedStart: false)
+            }
+        }
+        
+        #if !EXTENSION
+        NCOperationQueue.shared.downloadCancelAll()
+        #endif
+    }
         
     //MARK: - WebDav Read file, folder
     

+ 1 - 1
iOSClient/Settings/CCAdvanced.m

@@ -316,7 +316,7 @@
 {
     [appDelegate maintenanceMode:YES];
     
-    [[NCMainCommon shared] cancelAllTransfer];
+    [[NCNetworking shared] cancelAllTransferWithAccount:appDelegate.account];
     [[NCOperationQueue shared] cancelAllQueue];
 
     [[NSURLCache sharedURLCache] setMemoryCapacity:0];

+ 1 - 1
iOSClient/Transfers/NCTransfers.swift

@@ -147,7 +147,7 @@ class NCTransfers: NCCollectionViewCommon  {
        
         alertController.addAction(UIAlertAction(title: NSLocalizedString("_cancel_", comment: ""), style: .cancel, handler: nil))
         alertController.addAction(UIAlertAction(title: NSLocalizedString("_cancel_all_task_", comment: ""), style: .default, handler: { action in
-            NCMainCommon.shared.cancelAllTransfer()
+            NCNetworking.shared.cancelAllTransfer(account: self.appDelegate.account)
         }))
        
         self.present(alertController, animated: true, completion: nil)