marinofaggiana 4 år sedan
förälder
incheckning
b92cbab493

+ 3 - 3
iOSClient/CCGlobal.h

@@ -335,9 +335,9 @@
 #define k_notificationCenter_createFolder               @"createFolder"                     // userInfo: metadata
 #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
-#define k_notificationCenter_favoriteFile               @"favoriteFile"                     // userInfo: metadata, favorite, errorCode, errorDescription
+#define k_notificationCenter_moveFile                   @"moveFile"                         // userInfo: metadata, metadataNew
+#define k_notificationCenter_copyFile                   @"copyFile"                         // userInfo: metadata, serverUrlTo
+#define k_notificationCenter_favoriteFile               @"favoriteFile"                     // userInfo: metadata, favorite
 
 #define k_notificationCenter_menuSearchTextPDF          @"menuSearchTextPDF"
 #define k_notificationCenter_menuDownloadImage          @"menuDownloadImage"                // userInfo: metadata

+ 9 - 28
iOSClient/Main/CCMain.m

@@ -489,12 +489,10 @@
     NSDictionary *userInfo = notification.userInfo;
     tableMetadata *metadata = userInfo[@"metadata"];
 //    tableMetadata *metadataNew = userInfo[@"metadataNew"];
-    NSInteger errorCode = [userInfo[@"errorCode"] integerValue];
-    NSString *errorDescription = userInfo[@"errorDescription"];
     
     if (![metadata.serverUrl isEqualToString:self.serverUrl]) { return; }
     
-    if (arrayMoveMetadata.count > 0) {
+    if (arrayCopyMetadata.count > 0) {
         tableMetadata *metadata = arrayMoveMetadata.firstObject;
         NSString *serverUrlTo = arrayMoveServerUrlTo.firstObject;
         [arrayMoveMetadata removeObjectAtIndex:0];
@@ -502,10 +500,6 @@
         [[NCNetworking shared] moveMetadata:metadata serverUrlTo:serverUrlTo overwrite:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
     }
     
-    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];
 }
 
@@ -513,9 +507,6 @@
 {
     NSDictionary *userInfo = notification.userInfo;
     tableMetadata *metadata = userInfo[@"metadata"];
-//    NSString *serverUrlTo = userInfo[@"serverUrlTo"];
-    NSInteger errorCode = [userInfo[@"errorCode"] integerValue];
-    NSString *errorDescription = userInfo[@"errorDescription"];
     
     if (![metadata.serverUrl isEqualToString:self.serverUrl]) { return; }
     
@@ -526,10 +517,6 @@
         [arrayCopyServerUrlTo removeObjectAtIndex:0];
         [[NCNetworking shared] copyMetadata:metadata serverUrlTo:serverUrlTo overwrite:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
     }
-    
-    if (errorCode != 0 && self.view.window != nil) {
-        [[NCContentPresenter shared] messageNotification:@"_error_" description:errorDescription delay:k_dismissAfterSecond type:messageTypeError errorCode:errorCode forced:false];
-    }
 }
 
 - (void)favoriteFile:(NSNotification *)notification
@@ -538,23 +525,17 @@
     
     NSDictionary *userInfo = notification.userInfo;
     tableMetadata *metadata = userInfo[@"metadata"];
-    NSInteger errorCode = [userInfo[@"errorCode"] integerValue];
-    NSString *errorDescription = userInfo[@"errorDescription"];
     BOOL favorite = [userInfo[@"favorite"] boolValue];
     
-    if (errorCode == 0) {
-        if (self.searchController.isActive) {
-            [self readFolder:self.serverUrl];
-        } 
-        if (favorite) {
-            if ([CCUtility getFavoriteOffline]) {
-                [[NCOperationQueue shared] synchronizationMetadata:metadata selector:selectorDownloadAllFile];
-            } else {
-                [[NCOperationQueue shared] synchronizationMetadata:metadata selector:selectorReadFile];
-            }
+    if (self.searchController.isActive) {
+        [self readFolder:self.serverUrl];
+    }
+    if (favorite) {
+        if ([CCUtility getFavoriteOffline]) {
+            [[NCOperationQueue shared] synchronizationMetadata:metadata selector:selectorDownloadAllFile];
+        } else {
+            [[NCOperationQueue shared] synchronizationMetadata:metadata selector:selectorReadFile];
         }
-    } else {
-        [[NCContentPresenter shared] messageNotification:@"_error_" description:errorDescription delay:k_dismissAfterSecond type:messageTypeError errorCode:errorCode forced:false];
     }
     
     [self reloadDatasource:self.serverUrl ocId:nil];

+ 25 - 31
iOSClient/Main/Collection/NCCollectionViewCommon.swift

@@ -224,19 +224,17 @@ 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 _ = userInfo["metadataNew"] as? tableMetadata, let errorCode = userInfo["errorCode"] as? Int, let _ = userInfo["errorDescription"] as? String {
+            if let metadata = userInfo["metadata"] as? tableMetadata, let _ = userInfo["metadataNew"] as? tableMetadata {
                 
-                if errorCode == 0 {
-                    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 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()
+                        }
+                    })
                 }
             }
         }
@@ -248,17 +246,15 @@ 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 errorCode = userInfo["errorCode"] as? Int, let _ = userInfo["errorDescription"] as? String {
+            if let metadata = userInfo["metadata"] as? tableMetadata {
                 
-                if errorCode == 0 {
-                    if let row = dataSource?.reloadMetadata(ocId: metadata.ocId) {
-                        let indexPath = IndexPath(row: row, section: 0)
-                        collectionView?.performBatchUpdates({
-                            collectionView?.reloadItems(at: [indexPath])
-                        }, completion: { (_) in
-                            self.collectionView?.reloadData()
-                        })
-                    }
+                if let row = dataSource?.reloadMetadata(ocId: metadata.ocId) {
+                    let indexPath = IndexPath(row: row, section: 0)
+                    collectionView?.performBatchUpdates({
+                        collectionView?.reloadItems(at: [indexPath])
+                    }, completion: { (_) in
+                        self.collectionView?.reloadData()
+                    })
                 }
             }
         }
@@ -287,15 +283,13 @@ 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 favorite = userInfo["favorite"] as? Bool, let errorCode = userInfo["errorCode"] as? Int, let _ = userInfo["errorDescription"] as? String {
-                if errorCode == 0 {
-                    self.reloadDataSource()
-                    if favorite {
-                        if CCUtility.getFavoriteOffline() {
-                            NCOperationQueue.shared.synchronizationMetadata(metadata, selector: selectorDownloadAllFile)
-                        } else {
-                            NCOperationQueue.shared.synchronizationMetadata(metadata, selector: selectorReadFile)
-                        }
+            if let metadata = userInfo["metadata"] as? tableMetadata, let favorite = userInfo["favorite"] as? Bool{
+                self.reloadDataSource()
+                if favorite {
+                    if CCUtility.getFavoriteOffline() {
+                        NCOperationQueue.shared.synchronizationMetadata(metadata, selector: selectorDownloadAllFile)
+                    } else {
+                        NCOperationQueue.shared.synchronizationMetadata(metadata, selector: selectorReadFile)
                     }
                 }
             }

+ 30 - 37
iOSClient/Main/NCDetailViewController.swift

@@ -200,33 +200,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 metadataNew = userInfo["metadataNew"] as? tableMetadata, let errorCode = userInfo["errorCode"] as? Int, let _ = userInfo["errorDescription"] as? String {
+            if let metadata = userInfo["metadata"] as? tableMetadata, let metadataNew = userInfo["metadataNew"] as? tableMetadata {
                 if metadata.account != self.metadata?.account { return }
                 
-                if errorCode == 0 {
+                // IMAGE
+                if (metadata.typeFile == k_metadataTypeFile_image || metadata.typeFile == k_metadataTypeFile_video || metadata.typeFile == k_metadataTypeFile_audio) {
                     
-                    // IMAGE
-                    if (metadata.typeFile == k_metadataTypeFile_image || metadata.typeFile == k_metadataTypeFile_video || metadata.typeFile == k_metadataTypeFile_audio) {
-                        
-                        viewImage()
-                    }
+                    viewImage()
+                }
+                
+                // OTHER
+                if (metadata.typeFile == k_metadataTypeFile_document || metadata.typeFile == k_metadataTypeFile_unknown) && metadataNew.ocId == self.metadata?.ocId {
                     
-                    // OTHER
-                    if (metadata.typeFile == k_metadataTypeFile_document || metadata.typeFile == k_metadataTypeFile_unknown) && metadataNew.ocId == self.metadata?.ocId {
-                        
-                        self.metadata = metadataNew
-                        
-                        // update subview
-                        for view in backgroundView.subviews {
-                            if view is NCViewerNextcloudText {
-                                (view as! NCViewerNextcloudText).metadata = self.metadata
-                            }
-                            else if view is NCViewerRichdocument {
-                                (view as! NCViewerRichdocument).metadata = self.metadata
-                            }
+                    self.metadata = metadataNew
+                    
+                    // update subview
+                    for view in backgroundView.subviews {
+                        if view is NCViewerNextcloudText {
+                            (view as! NCViewerNextcloudText).metadata = self.metadata
+                        }
+                        else if view is NCViewerRichdocument {
+                            (view as! NCViewerRichdocument).metadata = self.metadata
                         }
                     }
-                    
                 }
             }
         }
@@ -267,26 +263,23 @@ 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 }
                 
-                if errorCode == 0 {
+                // IMAGE
+                if (metadata.typeFile == k_metadataTypeFile_image || metadata.typeFile == k_metadataTypeFile_video || metadata.typeFile == k_metadataTypeFile_audio) {
                     
-                    // IMAGE
-                    if (metadata.typeFile == k_metadataTypeFile_image || metadata.typeFile == k_metadataTypeFile_video || metadata.typeFile == k_metadataTypeFile_audio) {
-                        
-                        viewImage()
-                    }
+                    viewImage()
+                }
+                
+                // OTHER
+                if (metadata.typeFile == k_metadataTypeFile_document || metadata.typeFile == k_metadataTypeFile_unknown) && metadata.ocId == self.metadata?.ocId {
                     
-                    // OTHER
-                    if (metadata.typeFile == k_metadataTypeFile_document || metadata.typeFile == k_metadataTypeFile_unknown) && metadata.ocId == self.metadata?.ocId {
-                        
-                        if let metadata = NCManageDatabase.sharedInstance.getMetadataFromOcId(metadata.ocId) {
-                            self.metadata = metadata
-                            self.navigationController?.navigationBar.topItem?.title = metadata.fileNameView
-                        } else {
-                            viewUnload()
-                        }
+                    if let metadata = NCManageDatabase.sharedInstance.getMetadataFromOcId(metadata.ocId) {
+                        self.metadata = metadata
+                        self.navigationController?.navigationBar.topItem?.title = metadata.fileNameView
+                    } else {
+                        viewUnload()
                     }
                 }
             }

+ 4 - 4
iOSClient/Media/NCMedia.swift

@@ -395,8 +395,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 {
                     self.reloadDataSource()
                 }
             }
@@ -407,8 +407,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 {
                     self.reloadDataSource()
                 }
             }

+ 25 - 26
iOSClient/Networking/NCNetworking.swift

@@ -935,13 +935,15 @@ import Queuer
     
             if errorCode == 0 && metadata.account == account {
                 NCManageDatabase.sharedInstance.setMetadataFavorite(ocId: metadata.ocId, favorite: favorite)
+                
+                NotificationCenter.default.postOnMainThread(name: k_notificationCenter_favoriteFile, userInfo: ["metadata": metadata, "favorite": favorite])
             } else {
                 #if !EXTENSION
                 NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
                 #endif
             }
             
-            self.NotificationPost(name: k_notificationCenter_favoriteFile, userInfo: ["metadata": metadata, "favorite": favorite, "errorCode": errorCode], errorDescription: errorDescription, completion: completion)
+            completion(errorCode, errorDescription)
         }
     }
     
@@ -1005,15 +1007,15 @@ import Queuer
         
         let permission = NCUtility.shared.permissionsContainsString(metadata.permissions, permissions: k_permission_can_rename)
         if !(metadata.permissions == "") && !permission {
-            self.NotificationPost(name: k_notificationCenter_renameFile, userInfo: ["metadata": metadata, "errorCode": Int(k_CCErrorInternalError)], errorDescription: "_no_permission_modify_file_", completion: completion)
+            completion(Int(k_CCErrorInternalError), "_no_permission_modify_file_")
             return
         }
         guard let fileNameNew = CCUtility.removeForbiddenCharactersServer(fileNameNew) else {
-            self.NotificationPost(name: k_notificationCenter_renameFile, userInfo: ["metadata": metadata, "errorCode": Int(0)], errorDescription: "", completion: completion)
+            completion(0, "")
             return
         }
         if fileNameNew.count == 0 || fileNameNew == metadata.fileNameView {
-            self.NotificationPost(name: k_notificationCenter_renameFile, userInfo: ["metadata": metadata, "errorCode": Int(0)], errorDescription: "", completion: completion)
+            completion(0, "")
             return
         }
         
@@ -1045,13 +1047,16 @@ import Queuer
                         try FileManager.default.moveItem(atPath: atPath, toPath: toPath)
                     } catch { }
                 }
+                
+                NotificationCenter.default.postOnMainThread(name: k_notificationCenter_renameFile, userInfo: ["metadata": metadata])
+                
             } else {
                 #if !EXTENSION
                 NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
                 #endif
             }
                     
-            self.NotificationPost(name: k_notificationCenter_renameFile, userInfo: ["metadata": metadata, "errorCode": errorCode], errorDescription: errorDescription, completion: completion)
+            completion(errorCode, errorDescription)
         }
     }
     
@@ -1076,7 +1081,7 @@ import Queuer
     
         let permission = NCUtility.shared.permissionsContainsString(metadata.permissions, permissions: k_permission_can_rename)
         if !(metadata.permissions == "") && !permission {
-            self.NotificationPost(name: k_notificationCenter_renameFile, userInfo: ["metadata": metadata, "serverUrlTo": serverUrlTo, "errorCode": Int(k_CCErrorInternalError)], errorDescription: "_no_permission_modify_file_", completion: completion)
+            completion(Int(k_CCErrorInternalError), "_no_permission_modify_file_")
             return
         }
         
@@ -1092,14 +1097,17 @@ import Queuer
                 }
                 
                 NCManageDatabase.sharedInstance.moveMetadata(ocId: metadata.ocId, serverUrlTo: serverUrlTo)
+                guard let metadataNew = NCManageDatabase.sharedInstance.getMetadataFromOcId(metadata.ocId) else { return }
+
+                NotificationCenter.default.postOnMainThread(name: k_notificationCenter_moveFile, userInfo: ["metadata": metadata, "metadataNew": metadataNew])
+                
             } else {
                 #if !EXTENSION
                 NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
                 #endif
             }
             
-            guard let metadataNew = NCManageDatabase.sharedInstance.getMetadataFromOcId(metadata.ocId) else { return }
-            self.NotificationPost(name: k_notificationCenter_moveFile, userInfo: ["metadata": metadata, "metadataNew": metadataNew, "errorCode": errorCode], errorDescription: errorDescription, completion: completion)
+            completion(errorCode, errorDescription)
         }
     }
     
@@ -1124,7 +1132,7 @@ import Queuer
     
         let permission = NCUtility.shared.permissionsContainsString(metadata.permissions, permissions: k_permission_can_rename)
         if !(metadata.permissions == "") && !permission {
-            self.NotificationPost(name: k_notificationCenter_renameFile, userInfo: ["metadata": metadata, "serverUrlTo": serverUrlTo, "errorCode": Int(k_CCErrorInternalError)], errorDescription: "_no_permission_modify_file_", completion: completion)
+            completion(Int(k_CCErrorInternalError), "_no_permission_modify_file_")
             return
         }
         
@@ -1132,28 +1140,19 @@ import Queuer
         let serverUrlFileNameDestination = serverUrlTo + "/" + metadata.fileName
         
         NCCommunication.shared.copyFileOrFolder(serverUrlFileNameSource: serverUrlFileNameSource, serverUrlFileNameDestination: serverUrlFileNameDestination, overwrite: overwrite) { (account, errorCode, errorDescription) in
-                    
-            if errorCode != 0 {
+                   
+            if errorCode == 0 {
+                
+                NotificationCenter.default.postOnMainThread(name: k_notificationCenter_copyFile, userInfo: ["metadata": metadata, "serverUrlTo": serverUrlTo])
+
+            } else {
+                
                 #if !EXTENSION
                 NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
                 #endif
             }
-            self.NotificationPost(name: k_notificationCenter_copyFile, userInfo: ["metadata": metadata, "errorCode": errorCode], errorDescription: errorDescription, completion: completion)
-        }
-    }
-    
-    //MARK: - Notification Post
-    
-    private func NotificationPost(name: String, userInfo: [AnyHashable : Any], errorDescription: Any?, completion: @escaping (_ errorCode: Int, _ errorDescription: String)->()) {
-        var userInfo = userInfo
-        DispatchQueue.main.async {
             
-            if errorDescription == nil { userInfo["errorDescription"] = "" }
-            else { userInfo["errorDescription"] = NSLocalizedString(errorDescription as! String, comment: "") }
-            
-            NotificationCenter.default.postOnMainThread(name: name, userInfo: userInfo)
-            
-            completion(userInfo["errorCode"] as! Int, userInfo["errorDescription"] as! String)
+            completion(errorCode, errorDescription)
         }
     }
 }