marinofaggiana 4 years ago
parent
commit
e14ddfaabf

+ 6 - 6
iOSClient/AppDelegate.m

@@ -1075,7 +1075,7 @@
                 metadataForUpload.status = k_metadataStatusInUpload;
                 tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
                     
-                [[NCNetworking shared] uploadWithOcId:metadata.ocId background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
                     
                 break;
                                         
@@ -1084,7 +1084,7 @@
                 metadataForUpload.status = k_metadataStatusInUpload;
                 tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
                     
-                [[NCNetworking shared] uploadWithOcId:metadata.ocId background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
                     
                 counterUpload++;
                 sizeUpload = sizeUpload + metadata.size;
@@ -1120,7 +1120,7 @@
                 metadataForUpload.status = k_metadataStatusInUpload;
                 tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
                                           
-                [[NCNetworking shared] uploadWithOcId:metadata.ocId background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
                                 
                 break;
                 
@@ -1129,7 +1129,7 @@
                 metadataForUpload.status = k_metadataStatusInUpload;
                 tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
                            
-                [[NCNetworking shared] uploadWithOcId:metadata.ocId background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
                            
                 counterUpload++;
                 sizeUpload = sizeUpload + metadata.size;
@@ -1175,7 +1175,7 @@
                     metadataForUpload.status = k_metadataStatusInUpload;
                     tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
                     
-                    [[NCNetworking shared] uploadWithOcId:metadata.ocId background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                    [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
                     
                     break;
                     
@@ -1184,7 +1184,7 @@
                     metadataForUpload.status = k_metadataStatusInUpload;
                     tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
                     
-                    [[NCNetworking shared] uploadWithOcId:metadata.ocId background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                    [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
                     
                     counterUpload++;
                     sizeUpload = sizeUpload + metadata.size;

+ 4 - 4
iOSClient/Main/CCMain.m

@@ -536,7 +536,7 @@
                    
         if (!metadata.directory && favorite && [CCUtility getFavoriteOffline]) {
                    
-            [[NCNetworking shared] downloadWithOcId:metadata.ocId selector:selectorDownloadSynchronize setFavorite:true completion:^(NSInteger errorCode) { }];
+            [[NCNetworking shared] downloadWithMetadata:metadata selector:selectorDownloadSynchronize setFavorite:true completion:^(NSInteger errorCode) { }];
         }
     } else {
         [[NCContentPresenter shared] messageNotification:@"_error_" description:errorDescription delay:k_dismissAfterSecond type:messageTypeError errorCode:errorCode];
@@ -1755,7 +1755,7 @@
         
     } else {
         
-        [[NCNetworking shared] downloadWithOcId:self.metadata.ocId selector:selectorLoadCopy setFavorite:false completion:^(NSInteger errorCode) { }];
+        [[NCNetworking shared] downloadWithMetadata:self.metadata selector:selectorLoadCopy setFavorite:false completion:^(NSInteger errorCode) { }];
     }
 }
 
@@ -1775,7 +1775,7 @@
             
         } else {
 
-            [[NCNetworking shared] downloadWithOcId:metadata.ocId selector:selectorLoadCopy setFavorite:false completion:^(NSInteger errorCode) { }];
+            [[NCNetworking shared] downloadWithMetadata:metadata selector:selectorLoadCopy setFavorite:false completion:^(NSInteger errorCode) { }];
         }
     }
     
@@ -2505,7 +2505,7 @@
                         [self shouldPerformSegue:self.metadata selector:selectorLoadFileView];
                     }
                    
-                    [[NCNetworking shared] downloadWithOcId:self.metadata.ocId selector:selectorLoadFileView setFavorite:false completion:^(NSInteger errorCode) { }];
+                    [[NCNetworking shared] downloadWithMetadata:self.metadata selector:selectorLoadFileView setFavorite:false completion:^(NSInteger errorCode) { }];
                 }
             }
         }

+ 2 - 2
iOSClient/Main/Menu/CCMain+Menu.swift

@@ -486,10 +486,10 @@ extension CCMain {
                         action: { menuAction in
                             if (localFile == nil || !CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView)) {
                                 
-                                NCNetworking.shared.download(ocId: metadata.ocId, selector: selectorLoadOffline) { (_) in }
+                                NCNetworking.shared.download(metadata: metadata, selector: selectorLoadOffline) { (_) in }
                                 
                                 if let metadataLivePhoto = NCManageDatabase.sharedInstance.isLivePhoto(metadata: metadata) {
-                                    NCNetworking.shared.download(ocId: metadataLivePhoto.ocId, selector: selectorLoadOffline) { (_) in }
+                                    NCNetworking.shared.download(metadata: metadataLivePhoto, selector: selectorLoadOffline) { (_) in }
                                 }
                                 
                             } else {

+ 1 - 1
iOSClient/Main/Menu/NCDetailNavigationController+Menu.swift

@@ -144,7 +144,7 @@ extension NCDetailNavigationController {
                     action: { menuAction in
                         if ((localFile == nil || !CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView)) && metadata.session == "") {
                             
-                            NCNetworking.shared.download(ocId: metadata.ocId, selector: selectorLoadOffline) { (_) in }
+                            NCNetworking.shared.download(metadata: metadata, selector: selectorLoadOffline) { (_) in }
                         } else {
                             NCManageDatabase.sharedInstance.setLocalFile(ocId: metadata.ocId, offline: !localFile!.offline)
                         }

+ 2 - 2
iOSClient/Main/NCDetailViewController.swift

@@ -361,7 +361,7 @@ class NCDetailViewController: UIViewController {
         if let userInfo = notification.userInfo as NSDictionary? {
             if let metadata = userInfo["metadata"] as? tableMetadata {
 
-                NCNetworking.shared.download(ocId: metadata.ocId, selector: "") { (_) in }
+                NCNetworking.shared.download(metadata: metadata, selector: "") { (_) in }
 
                 if let index = metadatas.firstIndex(where: { $0.ocId == metadata.ocId }) {
                     metadatas[index] = self.metadata!
@@ -671,7 +671,7 @@ extension NCDetailViewController: NCViewerImageViewControllerDelegate, NCViewerI
             
             if NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "ocId == %@ AND session != ''", metadata.ocId)) == nil {
                 
-                NCNetworking.shared.download(ocId: metadata.ocId, selector: "") { (_) in }
+                NCNetworking.shared.download(metadata: metadata, selector: "") { (_) in }
             }
             
             completion(index, NCViewerImageCommon.shared.getImageOffOutline(frame: self.view.frame, type: metadata.typeFile), metadata, ZoomScale.default, nil)

+ 1 - 1
iOSClient/Main/NCMainCommon.swift

@@ -790,7 +790,7 @@ class NCMainCommon: NSObject, NCAudioRecorderViewControllerDelegate, UIDocumentI
                                     
         } else {
             
-            NCNetworking.shared.download(ocId: metadata.ocId, selector: selector) { (_) in }
+            NCNetworking.shared.download(metadata: metadata, selector: selector) { (_) in }
         }
     }
 

+ 16 - 28
iOSClient/Networking/NCNetworking.swift

@@ -176,18 +176,14 @@ import Alamofire
         }
     }
     
-    @objc func download(ocId: String, selector: String, setFavorite: Bool = false, completion: @escaping (_ errorCode: Int)->()) {
+    @objc func download(metadata: tableMetadata, selector: String, setFavorite: Bool = false, completion: @escaping (_ errorCode: Int)->()) {
         
-        guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "ocId == %@", ocId), freeze: true) else {
-            completion(Int(k_CCErrorInternalError))
-            return
-        }
         let serverUrlFileName = metadata.serverUrl + "/" + metadata.fileName
         let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileName)!
         
         if metadata.status == Int(k_metadataStatusInDownload) || metadata.status == Int(k_metadataStatusDownloading) { return }
                 
-        NCManageDatabase.sharedInstance.setMetadataSession(ocId: ocId, session: NCCommunicationCommon.shared.sessionIdentifierDownload, sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusInDownload))
+        NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: NCCommunicationCommon.shared.sessionIdentifierDownload, sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusInDownload))
             
         NotificationCenter.default.postOnMainThread(name: k_notificationCenter_reloadDataSource, object: nil, userInfo: ["ocId":metadata.ocId, "serverUrl":metadata.serverUrl])
         
@@ -195,7 +191,7 @@ import Alamofire
             
             self.downloadRequest[fileNameLocalPath] = request
             
-            NCManageDatabase.sharedInstance.setMetadataSession(ocId: ocId, status: Int(k_metadataStatusDownloading))
+            NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, status: Int(k_metadataStatusDownloading))
             NotificationCenter.default.postOnMainThread(name: k_notificationCenter_downloadFileStart, userInfo: ["ocId":metadata.ocId, "serverUrl":metadata.serverUrl, "account":metadata.account])
             
         }, progressHandler: { (progress) in
@@ -206,11 +202,11 @@ import Alamofire
                        
             if error?.isExplicitlyCancelledError ?? false {
                             
-                NCManageDatabase.sharedInstance.setMetadataSession(ocId: ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusNormal))
+                NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusNormal))
             
             } else if errorCode == 0 {
                
-                NCManageDatabase.sharedInstance.setMetadataSession(ocId: ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusNormal), etag: etag, setFavorite: setFavorite)
+                NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusNormal), etag: etag, setFavorite: setFavorite)
                 NCManageDatabase.sharedInstance.addLocalFile(metadata: metadata)
                 
                 #if !EXTENSION
@@ -224,7 +220,7 @@ import Alamofire
 
             } else {
                                 
-                NCManageDatabase.sharedInstance.setMetadataSession(ocId: ocId, session: "", sessionError: errorDescription, sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusDownloadError))
+                NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: errorDescription, sessionSelector: selector, sessionTaskIdentifier: 0, status: Int(k_metadataStatusDownloadError))
                 
                 #if !EXTENSION
                 if errorCode == 401 || errorCode == 403 {
@@ -262,14 +258,10 @@ import Alamofire
         }
     }
     
-    @objc func upload(ocId: String, background: Bool = true, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->())  {
+    @objc func upload(metadata: tableMetadata, background: Bool = true, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->())  {
            
-        guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "ocId == %@", ocId), freeze: true) else {
-            completion(Int(k_CCErrorInternalError), "Internal error")
-            return
-        }
         guard let account = NCManageDatabase.sharedInstance.getAccount(predicate: NSPredicate(format: "account == %@", metadata.account)) else {
-            NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", ocId))
+            NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
             completion(Int(k_CCErrorInternalError), "Internal error")
             return
         }
@@ -309,9 +301,9 @@ import Alamofire
                 NCNetworkingE2EE.shared.upload(metadata: metadataForUpload, account: account, completion: completion)
                 #endif
             } else if background {
-                uploadFileInBackground(ocId: metadataForUpload.ocId, account: account, completion: completion)
+                uploadFileInBackground(metadata: metadataForUpload, account: account, completion: completion)
             } else {
-                uploadFile(ocId: metadataForUpload.ocId, account: account, completion: completion)
+                uploadFile(metadata: metadataForUpload, account: account, completion: completion)
             }
            
         } else {
@@ -340,26 +332,22 @@ import Alamofire
                     NCNetworkingE2EE.shared.upload(metadata: metadataForUpload, account: account, completion: completion)
                     #endif
                 } else if background {
-                    self.uploadFileInBackground(ocId: metadataForUpload.ocId, account: account, completion: completion)
+                    self.uploadFileInBackground(metadata: metadataForUpload, account: account, completion: completion)
                 } else {
-                    self.uploadFile(ocId: metadataForUpload.ocId, account: account, completion: completion)
+                    self.uploadFile(metadata: metadataForUpload, account: account, completion: completion)
                 }
             }
         }
     }
     
     //
-    private func uploadFile(ocId: String, account: tableAccount, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->()) {
+    private func uploadFile(metadata: tableMetadata, account: tableAccount, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->()) {
         
         completion(0, "")
     }
     
-    private func uploadFileInBackground(ocId: String, account: tableAccount, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->()) {
+    private func uploadFileInBackground(metadata: tableMetadata, account: tableAccount, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->()) {
         
-        guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "ocId == %@", ocId), freeze: true) else {
-            completion(0, "")
-            return
-        }
         var session: URLSession?
         let serverUrlFileName = metadata.serverUrl + "/" + metadata.fileName
         let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
@@ -372,7 +360,7 @@ import Alamofire
         
         if let task = NCCommunicationBackground.shared.upload(serverUrlFileName: serverUrlFileName, fileNameLocalPath: fileNameLocalPath, dateCreationFile: metadata.creationDate as Date, dateModificationFile: metadata.date as Date, description: "", session: session!) {
                      
-            NCManageDatabase.sharedInstance.setMetadataSession(ocId: ocId, sessionError: "", sessionTaskIdentifier: task.taskIdentifier, status: Int(k_metadataStatusUploading))
+            NCManageDatabase.sharedInstance.setMetadataSession(ocId: metadata.ocId, sessionError: "", sessionTaskIdentifier: task.taskIdentifier, status: Int(k_metadataStatusUploading))
             
             #if !EXTENSION
             CCGraphics.createNewImage(from: metadata.fileNameView, ocId: metadata.ocId, typeFile: metadata.typeFile)
@@ -444,7 +432,7 @@ import Alamofire
                     
                     NCManageDatabase.sharedInstance.setMetadataSession(ocId: ocId!, session: NCCommunicationCommon.shared.sessionIdentifierBackground, sessionError: "", sessionTaskIdentifier: 0, status: Int(k_metadataStatusInUpload))
                     
-                    NCNetworking.shared.upload(ocId: metadata.ocId) { (_, _) in }
+                    NCNetworking.shared.upload(metadata: metadata) { (_, _) in }
                                             
                 } else {
                     

+ 1 - 1
iOSClient/Networking/NCOperationQueue.swift

@@ -127,7 +127,7 @@ class NCOperationDownload: ConcurrentOperation {
         if isCancelled {
             self.finish()
         } else {
-            NCNetworking.shared.download(ocId: self.metadata.ocId, selector: self.selector, setFavorite: self.setFavorite) { (_) in
+            NCNetworking.shared.download(metadata: metadata, selector: self.selector, setFavorite: self.setFavorite) { (_) in
                 self.finish()
             }
         }

+ 1 - 1
iOSClient/Transfers/CCTransfers.m

@@ -252,7 +252,7 @@
         metadataForRecognizer.status = k_metadataStatusInUpload;
         metadataForRecognizer.session = NCCommunicationCommon.shared.sessionIdentifierBackground;
        
-        [[NCNetworking shared] uploadWithOcId:[[NCManageDatabase sharedInstance] addMetadata:metadataForRecognizer].ocId background: true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+        [[NCNetworking shared] uploadWithMetadata:[[NCManageDatabase sharedInstance] addMetadata:metadataForRecognizer] background: true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
     }
 }