Marino Faggiana 8 жил өмнө
parent
commit
62bb8ed0a7

+ 2 - 2
Picker/DocumentPickerViewController.swift

@@ -460,9 +460,9 @@ class DocumentPickerViewController: UIDocumentPickerExtensionViewController, CCN
             
         case selectorLoadPlist :
             
-            let metadata = CCUtility.insertInformationPlist(self.metadata, directoryUser: directoryUser)!
+            var metadata = CCUtility.insertInformationPlist(self.metadata, directoryUser: directoryUser)!
             
-            NCManageDatabase.sharedInstance.updateMetadata(metadata, activeUrl: activeUrl!)
+            metadata = NCManageDatabase.sharedInstance.updateMetadata(metadata, activeUrl: activeUrl!)
             
             if metadata.type == k_metadataType_template {
                 NCManageDatabase.sharedInstance.setLocalFile(fileID: metadata.fileID, date: metadata.date, exifDate: nil, exifLatitude: nil, exifLongitude: nil, fileName: nil, fileNamePrint: metadata.fileNamePrint)

+ 3 - 1
iOSClient/Database/NCManageDatabase.swift

@@ -1369,7 +1369,7 @@ class NCManageDatabase: NSObject {
         self.setDateReadDirectory(directoryID: directoryIDTo)
     }
     
-    func updateMetadata(_ metadata: tableMetadata, activeUrl: String) {
+    func updateMetadata(_ metadata: tableMetadata, activeUrl: String) -> tableMetadata {
         
         let cameraFolderName = self.getAccountCameraUploadFolderName()
         let cameraFolderPath = self.getAccountCameraUploadFolderPath(activeUrl: activeUrl)
@@ -1384,6 +1384,8 @@ class NCManageDatabase: NSObject {
         }
         
         self.setDateReadDirectory(directoryID: metadata.directoryID)
+        
+        return tableMetadata.init(value: metadata)
     }
     
     func setMetadataSession(_ session: String?, sessionError: String?, sessionSelector: String?, sessionSelectorPost: String?, sessionTaskIdentifier: Int, sessionTaskIdentifierPlist: Int, predicate: NSPredicate) {

+ 1 - 1
iOSClient/Move/CCMove.m

@@ -246,7 +246,7 @@
         tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", fileID]];
         
         metadata = [CCUtility insertInformationPlist:metadata directoryUser:directoryUser];
-        [[NCManageDatabase sharedInstance] updateMetadata:metadata activeUrl:activeUrl];
+        metadata = [[NCManageDatabase sharedInstance] updateMetadata:metadata activeUrl:activeUrl];
         
         // se è un template aggiorniamo anche nel FileSystem
         if ([metadata.type isEqualToString: k_metadataType_template]) {

+ 7 - 10
iOSClient/Networking/CCNetworking.m

@@ -1419,7 +1419,7 @@
         
         metadata.sessionTaskIdentifier = k_taskIdentifierDone;
         
-        [[NCManageDatabase sharedInstance] updateMetadata:metadata activeUrl:_activeUrl];
+        metadata = [[NCManageDatabase sharedInstance] updateMetadata:metadata activeUrl:_activeUrl];
     }
     
     // ALL TASK DONE (PLAIN/CRYPTO)
@@ -1437,7 +1437,7 @@
         metadata.sessionError = @"";
         metadata.sessionID = @"";
         
-        [[NCManageDatabase sharedInstance] updateMetadata:metadata activeUrl:_activeUrl];
+        metadata = [[NCManageDatabase sharedInstance] updateMetadata:metadata activeUrl:_activeUrl];
         
         // rename file sessionID -> fileID
         [CCUtility moveFileAtPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, sessionID]  toPath:[NSString stringWithFormat:@"%@/%@", _directoryUser, metadata.fileID]];
@@ -1598,17 +1598,14 @@
     
     NSLog(@"[LOG] Verify upload file in progress n. %lu", (unsigned long)[dataSource count]);
     
-    for (tableMetadata *record in dataSource) {
-        
-        __block NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:record.directoryID];
-        
-        NSURLSession *session = [self getSessionfromSessionDescription:record.session];
+    for (tableMetadata *metadata in dataSource) {
         
-        id tradeReference = [[NCManageDatabase sharedInstance] getThreadConfined:record];
+        __block NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
         
+        NSURLSession *session = [self getSessionfromSessionDescription:metadata.session];
+                
         [session getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
             
-            tableMetadata *metadata = (tableMetadata *)[[NCManageDatabase sharedInstance] putThreadConfined:tradeReference];
             BOOL findTask = NO;
             BOOL findTaskPlist = NO;
             
@@ -1634,7 +1631,7 @@
         }];
         
         // Notification change session
-        NSArray *object = [[NSArray alloc] initWithObjects:session, record, nil];
+        NSArray *object = [[NSArray alloc] initWithObjects:session, metadata, nil];
         [[NSNotificationCenter defaultCenter] postNotificationName:k_networkingSessionNotification object:object];
     }