marinofaggiana 4 years ago
parent
commit
f0f5fefbc9

+ 15 - 0
Share/NCSelectDestination.m

@@ -226,6 +226,19 @@
 
 - (void)readFolder
 {
+    [[NCNetworking sharedInstance] readFolderWithServerUrl:_serverUrl account:activeAccount completion:^(NSString *account, tableMetadata *metadataFolder, NSInteger errorCode, NSString *errorDescription) {
+        
+        if (errorCode == 0) {
+            self.move.enabled = true;
+        } else {
+            self.move.enabled = false;
+        }
+        
+        _loadingFolder = YES;
+        [self.tableView reloadData];
+    }];
+    
+    /*
     [[NCCommunication sharedInstance] readFileOrFolderWithServerUrlFileName:_serverUrl depth:@"1" showHiddenFiles:[CCUtility getShowHiddenFiles] account:activeAccount completionHandler:^(NSString *account, NSArray<NCFile *> *files, NSInteger errorCode, NSString *errorDecription) {
         
         if (errorCode == 0 && files != nil) {
@@ -269,8 +282,10 @@
     
     _loadingFolder = YES;
     [self.tableView reloadData];
+    */
 }
 
+    
 // MARK: - Create Folder
 
 - (void)createFolder:(NSString *)fileNameFolder

+ 14 - 26
iOSClient/Main/CCMain.m

@@ -1280,37 +1280,15 @@
     }
     
     if (self.searchController.isActive == NO) {
-        
-        [[NCManageDatabase sharedInstance] setDirectoryWithServerUrl:serverUrl serverUrlTo:nil etag:metadataFolder.etag ocId:metadataFolder.ocId encrypted:metadataFolder.e2eEncrypted richWorkspace:nil account:account];
-        [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@ AND status == %d", account, serverUrl, k_metadataStatusNormal]];
         [[NCManageDatabase sharedInstance] setDateReadDirectoryWithServerUrl:serverUrl account:account];
     }
     
-    NSArray *metadatasInDownload = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@ AND (status == %d OR status == %d OR status == %d OR status == %d)", account, serverUrl, k_metadataStatusWaitDownload, k_metadataStatusInDownload, k_metadataStatusDownloading, k_metadataStatusDownloadError] sorted:nil ascending:NO];
-    
-    // insert in Database
-    NSMutableArray *metadatasToInsertInDB = (NSMutableArray *)[[NCManageDatabase sharedInstance] addMetadatas:metadatas];
-    // insert in Database the /
-    if (metadataFolder != nil) {
-        _metadataFolder = [[NCManageDatabase sharedInstance] addMetadata:metadataFolder];
-    }
-    // reinsert metadatas in Download
-    if (metadatasInDownload) {
-        [[NCManageDatabase sharedInstance] addMetadatas:metadatasInDownload];
-    }
-    
-    // File is changed ??
-    if (!self.searchController.isActive && metadatasToInsertInDB) {
-        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
-            [[CCSynchronize sharedSynchronize] verifyChangeMedatas:metadatasToInsertInDB serverUrl:serverUrl account:account withDownload:NO];
-        });
-    }
     // Search Mode
     if (self.searchController.isActive) {
         
         // Fix managed -> Unmanaged _searchResultMetadatas
-        if (metadatasToInsertInDB)
-            _searchResultMetadatas = [[NSMutableArray alloc] initWithArray:metadatasToInsertInDB];
+        if (metadatas)
+            _searchResultMetadatas = [[NSMutableArray alloc] initWithArray:metadatas];
         
         [[NCMainCommon sharedInstance] reloadDatasourceWithServerUrl:serverUrl ocId:nil action:k_action_NULL];
     }
@@ -1377,10 +1355,20 @@
 
     [self tableViewReloadData];
     
-    [[NCNetworking sharedInstance] readFolderWithServerUrl:serverUrl account:appDelegate.activeAccount completion:^(NSString *account, tableMetadata *metadataFolder, NSArray<tableMetadata *> *metadatas, NSInteger errorCode, NSString *errorDescription) {
+    [[NCNetworking sharedInstance] readFolderWithServerUrl:serverUrl account:appDelegate.activeAccount completion:^(NSString *account, tableMetadata *metadataFolder, NSInteger errorCode, NSString *errorDescription) {
         
         if (errorCode == 0 ) {
-            [self insertMetadatasWithAccount:account serverUrl:serverUrl metadataFolder:metadataFolder metadatas:metadatas];
+            [self insertMetadatasWithAccount:account serverUrl:serverUrl metadataFolder:metadataFolder metadatas:nil];
+            
+            // File is changed ??
+            /*
+            if (!self.searchController.isActive && metadatas) {
+                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
+                    [[CCSynchronize sharedSynchronize] verifyChangeMedatas:metadatas serverUrl:serverUrl account:account withDownload:NO];
+                });
+            }
+            */
+            
         } else {
             [[NCContentPresenter shared] messageNotification:@"_error_" description:errorDescription delay:k_dismissAfterSecond type:messageTypeError errorCode:errorCode];
         }

+ 8 - 3
iOSClient/Networking/NCNetworking.swift

@@ -212,7 +212,7 @@ import NCCommunication
     
     //MARK: - WebDav
     
-    @objc func readFolder(serverUrl: String, account: String, completion: @escaping (_ account: String, _ metadataFolder: tableMetadata?, _ metadatas: [tableMetadata]?, _ errorCode: Int, _ errorDescription: String)->()) {
+    @objc func readFolder(serverUrl: String, account: String, completion: @escaping (_ account: String, _ metadataFolder: tableMetadata?, _ errorCode: Int, _ errorDescription: String)->()) {
         
         NCCommunication.sharedInstance.readFileOrFolder(serverUrlFileName: serverUrl, depth: "1", showHiddenFiles: CCUtility.getShowHiddenFiles(), account: account) { (account, files, errorCode, errorDescription) in
             
@@ -234,6 +234,7 @@ import NCCommunication
                 NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND status == %d", account, serverUrl, k_metadataStatusNormal))
 
                 // Add metadata
+                let metadataFolderInserted = NCManageDatabase.sharedInstance.addMetadata(metadataFolder)
                 NCManageDatabase.sharedInstance.addMetadatas(metadatas)
                  
                 if metadatasInDownload != nil {
@@ -243,12 +244,16 @@ import NCCommunication
                     NCManageDatabase.sharedInstance.addMetadatas(metadatasInUpload!)
                 }
                 
-                completion(account, metadataFolder, metadatas, errorCode, "")
+                completion(account, metadataFolderInserted, errorCode, "")
                 
             } else {
+                
                 var errorDescription = errorDescription
                 if errorDescription == nil { errorDescription = "Internal error. Error not found" }
-                completion(account, nil, nil, errorCode, errorDescription!)
+                
+                NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
+                
+                completion(account, nil, errorCode, errorDescription!)
             }
         }
     }

+ 1 - 24
iOSClient/Select/NCSelect.swift

@@ -804,30 +804,7 @@ extension NCSelect {
         networkInProgress = true
         collectionView.reloadData()
         
-        NCNetworking.sharedInstance.readFolder(serverUrl: serverUrl, account: appDelegate.activeAccount) { (account, metadataFolder, metadatas, errorCode, errorDescription) in
-            
-            if errorCode == 0 && account == self.appDelegate.activeAccount {
-                
-                // Update DB
-                NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND status == %d", account, self.serverUrl, k_metadataStatusNormal))
-                
-                NCManageDatabase.sharedInstance.setDateReadDirectory(serverUrl: self.serverUrl, account: account)
-                
-                let metadatasInDownload = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND (status == %d OR status == %d OR status == %d OR status == %d)", account, self.serverUrl, k_metadataStatusWaitDownload, k_metadataStatusInDownload, k_metadataStatusDownloading, k_metadataStatusDownloadError), sorted: nil, ascending: false)
-                let metadatasInUpload = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND (status == %d OR status == %d OR status == %d OR status == %d)", account, self.serverUrl, k_metadataStatusWaitUpload, k_metadataStatusInUpload, k_metadataStatusUploading, k_metadataStatusUploadError), sorted: nil, ascending: false)
-                
-                NCManageDatabase.sharedInstance.addMetadatas(metadatas!)
-                 
-                if metadatasInDownload != nil {
-                    NCManageDatabase.sharedInstance.addMetadatas(metadatasInDownload!)
-                }
-                if metadatasInUpload != nil {
-                    NCManageDatabase.sharedInstance.addMetadatas(metadatasInUpload!)
-                }
-                
-            } else if errorCode != 0 {
-                NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: errorCode)
-            }
+        NCNetworking.sharedInstance.readFolder(serverUrl: serverUrl, account: appDelegate.activeAccount) { (account, metadataFolder, errorCode, errorDescription) in
             
             self.networkInProgress = false
             self.loadDatasource(withLoadFolder: false)