marinofaggiana 4 年之前
父节点
当前提交
5461396e49

+ 1 - 1
iOSClient/CCGlobal.h

@@ -333,7 +333,7 @@
 #define k_notificationCenter_progressTask               @"progressTask"                     // userInfo: account, ocId, serverUrl, status, progress, totalBytes, totalBytesExpected
 
 #define k_notificationCenter_createFolder               @"createFolder"                     // userInfo: metadata
-#define k_notificationCenter_deleteFile                 @"deleteFile"                       // userInfo: metadata, onlyLocal, errorCode, errorDescription
+#define k_notificationCenter_deleteFile                 @"deleteFile"                       // userInfo: metadata, onlyLocal
 #define k_notificationCenter_renameFile                 @"renameFile"                       // userInfo: metadata, errorCode, errorDescription
 #define k_notificationCenter_moveFile                   @"moveFile"                         // userInfo: metadata, metadataNew, errorCode, errorDescription
 #define k_notificationCenter_copyFile                   @"copyFile"                         // userInfo: metadata, serverUrlTo, errorCode, errorDescription

+ 5 - 13
iOSClient/Main/CCMain.m

@@ -464,8 +464,6 @@
 {
     NSDictionary *userInfo = notification.userInfo;
     tableMetadata *metadata = userInfo[@"metadata"];
-    NSInteger errorCode = [userInfo[@"errorCode"] integerValue];
-    NSString *errorDescription = userInfo[@"errorDescription"];
     
     if (![metadata.serverUrl isEqualToString:self.serverUrl]) { return; }
     
@@ -475,20 +473,14 @@
         [[NCNetworking shared] deleteMetadata:metadata account:metadata.account urlBase:metadata.urlBase onlyLocal:false completion:^(NSInteger errorCode, NSString *errorDescription) { }];
     }
 
-    if (errorCode == 0 ) {
-        if ([metadata.fileNameView.lowercaseString isEqualToString:k_fileNameRichWorkspace.lowercaseString]) {
-            [self readFileReloadFolder];
-        } else {
-            if (self.searchController.isActive) {
-                [self readFolder:self.serverUrl];
-            }
+    if ([metadata.fileNameView.lowercaseString isEqualToString:k_fileNameRichWorkspace.lowercaseString]) {
+        [self readFileReloadFolder];
+    } else {
+        if (self.searchController.isActive) {
+            [self readFolder:self.serverUrl];
         }
     }
     
-    if (errorCode != 0 && self.view.window != nil) {
-        [[NCContentPresenter shared] messageNotification:@"_error_" description:errorDescription delay:k_dismissAfterSecond type:messageTypeError errorCode:errorCode forced:false];
-    }
-    
     [self reloadDatasource:self.serverUrl ocId:nil];
 }
 

+ 16 - 18
iOSClient/Main/Collection/NCCollectionViewCommon.swift

@@ -197,25 +197,23 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
         if self.view?.window == nil { return }
         
         if let userInfo = notification.userInfo as NSDictionary? {
-            if let metadata = userInfo["metadata"] as? tableMetadata, let onlyLocal = userInfo["onlyLocal"] as? Bool, let errorCode = userInfo["errorCode"] as? Int, let _ = userInfo["errorDescription"] as? String {
+            if let metadata = userInfo["metadata"] as? tableMetadata, let onlyLocal = userInfo["onlyLocal"] as? Bool {
                 
-                if errorCode == 0 {
-                    if onlyLocal {
-                        if let row = dataSource?.reloadMetadata(ocId: metadata.ocId) {
-                            let indexPath = IndexPath(row: row, section: 0)
-                            collectionView?.reloadItems(at: [indexPath])
-                        }
-                    } else {
-                        if let row = dataSource?.deleteMetadata(ocId: metadata.ocId) {
-                            let indexPath = IndexPath(row: row, section: 0)
-                            collectionView?.performBatchUpdates({
-                                collectionView?.deleteItems(at: [indexPath])
-                            }, completion: { (_) in
-                                DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
-                                    self.collectionView?.reloadData()
-                                }
-                            })
-                        }
+                if onlyLocal {
+                    if let row = dataSource?.reloadMetadata(ocId: metadata.ocId) {
+                        let indexPath = IndexPath(row: row, section: 0)
+                        collectionView?.reloadItems(at: [indexPath])
+                    }
+                } else {
+                    if let row = dataSource?.deleteMetadata(ocId: metadata.ocId) {
+                        let indexPath = IndexPath(row: row, section: 0)
+                        collectionView?.performBatchUpdates({
+                            collectionView?.deleteItems(at: [indexPath])
+                        }, completion: { (_) in
+                            DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
+                                self.collectionView?.reloadData()
+                            }
+                        })
                     }
                 }
             }

+ 17 - 20
iOSClient/Main/NCDetailViewController.swift

@@ -236,32 +236,29 @@ class NCDetailViewController: UIViewController {
         if self.view?.window == nil { return }
         
         if let userInfo = notification.userInfo as NSDictionary? {
-            if let metadata = userInfo["metadata"] as? tableMetadata, let errorCode = userInfo["errorCode"] as? Int, let _ = userInfo["errorDescription"] as? String{
+            if let metadata = userInfo["metadata"] as? tableMetadata {
                 if metadata.account != self.metadata?.account || metadata.serverUrl != self.metadata?.serverUrl { return }
+                                    
+                // IMAGE
+                if (metadata.typeFile == k_metadataTypeFile_image || metadata.typeFile == k_metadataTypeFile_video || metadata.typeFile == k_metadataTypeFile_audio) {
                 
-                if errorCode == 0 {
-                    
-                    // IMAGE
-                    if (metadata.typeFile == k_metadataTypeFile_image || metadata.typeFile == k_metadataTypeFile_video || metadata.typeFile == k_metadataTypeFile_audio) {
-                    
-                        let metadatas = self.metadatas.filter { $0.ocId != metadata.ocId }                        
-                        if metadatas.count > 0 {
-                            if self.metadata?.ocId == metadata.ocId {
-                                var index = viewerImageViewController!.index - 1
-                                if index < 0 { index = 0}
-                                self.metadata = metadatas[index]
-                            }
-                            viewImage()
-                        } else {
-                            viewUnload()
+                    let metadatas = self.metadatas.filter { $0.ocId != metadata.ocId }
+                    if metadatas.count > 0 {
+                        if self.metadata?.ocId == metadata.ocId {
+                            var index = viewerImageViewController!.index - 1
+                            if index < 0 { index = 0}
+                            self.metadata = metadatas[index]
                         }
-                    }
-                    
-                    // OTHER
-                    if (metadata.typeFile == k_metadataTypeFile_document || metadata.typeFile == k_metadataTypeFile_unknown) && metadata.ocId == self.metadata?.ocId {
+                        viewImage()
+                    } else {
                         viewUnload()
                     }
                 }
+                
+                // OTHER
+                if (metadata.typeFile == k_metadataTypeFile_document || metadata.typeFile == k_metadataTypeFile_unknown) && metadata.ocId == self.metadata?.ocId {
+                    viewUnload()
+                }
             }
         }
     }

+ 2 - 2
iOSClient/Media/NCMedia.swift

@@ -371,8 +371,8 @@ class NCMedia: UIViewController, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate,
         if self.view?.window == nil { return }
         
         if let userInfo = notification.userInfo as NSDictionary? {
-            if let metadata = userInfo["metadata"] as? tableMetadata, let errorCode = userInfo["errorCode"] as? Int {
-                if metadata.account == appDelegate.account && errorCode == 0 {
+            if let metadata = userInfo["metadata"] as? tableMetadata {
+                if metadata.account == appDelegate.account {
                     
                     let indexes = self.metadatas.indices.filter { self.metadatas[$0].ocId == metadata.ocId }
                     let metadatas = self.metadatas.filter { $0.ocId != metadata.ocId }

+ 11 - 3
iOSClient/Networking/NCNetworking.swift

@@ -823,13 +823,18 @@ import Queuer
     @objc func deleteMetadata(_ metadata: tableMetadata, account: String, urlBase: String, onlyLocal: Bool, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->()) {
                 
         if (onlyLocal) {
+            
             NCManageDatabase.sharedInstance.deleteLocalFile(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
             NCUtilityFileSystem.shared.deleteFile(filePath: CCUtility.getDirectoryProviderStorageOcId(metadata.ocId))
+            
             if let metadataLivePhoto = NCManageDatabase.sharedInstance.isLivePhoto(metadata: metadata) {
                 NCManageDatabase.sharedInstance.deleteLocalFile(predicate: NSPredicate(format: "ocId == %@", metadataLivePhoto.ocId))
                 NCUtilityFileSystem.shared.deleteFile(filePath: CCUtility.getDirectoryProviderStorageOcId(metadataLivePhoto.ocId))
             }
-            self.NotificationPost(name: k_notificationCenter_deleteFile, userInfo: ["metadata": metadata, "onlyLocal": true ,"errorCode": 0], errorDescription: "", completion: completion)
+            
+            NotificationCenter.default.postOnMainThread(name: k_notificationCenter_deleteFile, userInfo: ["metadata": metadata, "onlyLocal": true])
+            completion(0, "")
+            
             return
         }
         
@@ -871,7 +876,7 @@ import Queuer
         let permission = NCUtility.shared.permissionsContainsString(metadata.permissions, permissions: k_permission_can_delete)
         if metadata.permissions != "" && permission == false {
             
-            self.NotificationPost(name: k_notificationCenter_deleteFile, userInfo: ["metadata": metadata, "onlyLocal": false, "errorCode": Int(k_CCErrorInternalError)], errorDescription: "_no_permission_delete_file_", completion: completion)
+            completion(Int(k_CCErrorInternalError), "_no_permission_delete_file_")
             return
         }
                 
@@ -890,6 +895,9 @@ import Queuer
                 if metadata.directory {
                     NCManageDatabase.sharedInstance.deleteDirectoryAndSubDirectory(serverUrl: CCUtility.stringAppendServerUrl(metadata.serverUrl, addFileName: metadata.fileName), account: metadata.account)
                 }
+                
+                NotificationCenter.default.postOnMainThread(name: k_notificationCenter_deleteFile, userInfo: ["metadata": metadata, "onlyLocal": false])
+                
             } else {
                 
                 #if !EXTENSION
@@ -897,7 +905,7 @@ import Queuer
                 #endif
             }
             
-            self.NotificationPost(name: k_notificationCenter_deleteFile, userInfo: ["metadata": metadata, "onlyLocal": false, "errorCode": errorCode], errorDescription: errorDescription, completion: completion)
+            completion(errorCode, errorDescription)
         }
     }
     

+ 1 - 1
iOSClient/Networking/NCOperationQueue.swift

@@ -449,7 +449,7 @@ class NCOperationReadFileForMediaQueue: ConcurrentOperation {
                     }
                 } else if errorCode == 404 {
                     NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", self.metadata.ocId))
-                    NotificationCenter.default.postOnMainThread(name: k_notificationCenter_deleteFile, userInfo: ["metadata": self.metadata, "errorCode": errorCode])
+                    NotificationCenter.default.postOnMainThread(name: k_notificationCenter_mediaFileNotFounf, userInfo: ["metadata": self.metadata])
                 }
                 self.finish()
             }