Browse Source

fix queue unlock for extension

Marino Faggiana 6 years ago
parent
commit
6707fc126f
2 changed files with 8 additions and 3 deletions
  1. 2 0
      PickerFileProvider/FileProvider.swift
  2. 6 3
      iOSClient/Networking/CCNetworking.m

+ 2 - 0
PickerFileProvider/FileProvider.swift

@@ -966,6 +966,8 @@ class FileProvider: NSFileProviderExtension, CCNetworkingDelegate {
     
     func uploadFileSuccessFailure(_ fileName: String!, fileID: String!, assetLocalIdentifier: String!, serverUrl: String!, selector: String!, selectorPost: String!, errorMessage: String!, errorCode: Int) {
         
+        NCManageDatabase.sharedInstance.deleteQueueUpload(assetLocalIdentifier: assetLocalIdentifier, selector: selector)
+        
         if let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, fileID)) {
             
             if (errorCode == 0) {

+ 6 - 3
iOSClient/Networking/CCNetworking.m

@@ -1106,9 +1106,12 @@
              // *** PLAIN ***
              [[NCManageDatabase sharedInstance] setMetadataSession:metadata.session sessionError:@"" sessionSelector:nil sessionSelectorPost:nil sessionTaskIdentifier:uploadTask.taskIdentifier predicate:[NSPredicate predicateWithFormat:@"sessionID = %@ AND account = %@", sessionID, _activeAccount]];
              
-             // OK remove record on tableQueueUpload
-             [[NCManageDatabase sharedInstance] deleteQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier selector:selector];
-             
+             // OK remove record on tableQueueUpload but NOT for EXTENSION Upload
+             if ([metadata.session isEqualToString:k_upload_session_extension] == NO) {
+                 
+                 [[NCManageDatabase sharedInstance] deleteQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier selector:selector];
+             }
+
 #ifndef EXTENSION
              // Next tableQueueUpload
              [(AppDelegate *)[[UIApplication sharedApplication] delegate] performSelectorOnMainThread:@selector(loadAutoDownloadUpload:) withObject:[NSNumber numberWithInt:k_maxConcurrentOperationDownloadUpload] waitUntilDone:NO];