Marino Faggiana 6 years ago
parent
commit
b7b8cca03c

+ 47 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -2023,6 +2023,53 @@ class NCManageDatabase: NSObject {
         return false
     }
     
+    @objc func clearMetadatasDownload() {
+        
+        guard let tableAccount = self.getAccountActive() else {
+            return
+        }
+        
+        let realm = try! Realm()
+        
+        do {
+            try realm.write {
+                
+                let results = realm.objects(tableMetadata.self).filter("account = %@ AND status = %d", tableAccount.account, k_metadataStatusWaitDownload)
+                
+                for result in results {
+                    result.session = ""
+                    result.status = Int(k_metadataStatusNormal)
+                    result.sessionError = ""
+                    result.sessionSelector = ""
+                    result.sessionSelectorPost = ""
+                    result.sessionTaskIdentifier = Int(k_taskIdentifierDone)
+                }
+            }
+        } catch let error {
+            print("[LOG] Could not write to database: ", error)
+        }
+    }
+    
+    @objc func clearMetadatasUpload() {
+        
+        guard let tableAccount = self.getAccountActive() else {
+            return
+        }
+        
+        let realm = try! Realm()
+        
+        do {
+            try realm.write {
+                
+                let results = realm.objects(tableMetadata.self).filter("account = %@ AND status = %d", tableAccount.account, k_metadataStatusWaitUpload)
+                
+                realm.delete(results)
+            }
+        } catch let error {
+            print("[LOG] Could not write to database: ", error)
+        }
+    }
+    
     //MARK: -
     //MARK: Table Photo Library
     

+ 0 - 1
iOSClient/Networking/CCNetworking.h

@@ -55,7 +55,6 @@
 - (NSArray *)getUploadTasksExtensionSession;
 
 - (void)invalidateAndCancelAllSession;
-- (void)settingSessionsDownload:(BOOL)download upload:(BOOL)upload taskStatus:(NSInteger)taskStatus activeAccount:(NSString *)activeAccount activeUser:(NSString *)activeUser activeUrl:(NSString *)activeUrl;
 
 // Download
 - (void)downloadFile:(tableMetadata *)metadata path:(NSString *)path taskStatus:(NSInteger)taskStatus delegate:(id)delegate;

+ 0 - 87
iOSClient/Networking/CCNetworking.m

@@ -338,93 +338,6 @@
     [[self sessionUploadForeground] invalidateAndCancel];
 }
 
-- (void)settingSessionsDownload:(BOOL)download upload:(BOOL)upload taskStatus:(NSInteger)taskStatus activeAccount:(NSString *)activeAccount activeUser:(NSString *)activeUser activeUrl:(NSString *)activeUrl
-{
-    if (download) {
-        
-        [[self sessionDownload] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
-            for (NSURLSessionTask *task in downloadTasks)
-                if (taskStatus == k_taskStatusCancel) [task cancel];
-                else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                else if (taskStatus == k_taskStatusResume) [task resume];
-        }];
-        
-        [[self sessionDownloadForeground] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
-            for (NSURLSessionTask *task in downloadTasks)
-                if (taskStatus == k_taskStatusCancel) [task cancel];
-                else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                else if (taskStatus == k_taskStatusResume) [task resume];
-        }];
-        
-        [[self sessionWWanDownload] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
-            for (NSURLSessionTask *task in downloadTasks)
-                if (taskStatus == k_taskStatusCancel) [task cancel];
-                else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                else if (taskStatus == k_taskStatusResume) [task resume];
-        }];
-        
-        if (taskStatus == k_taskStatusCancel) {
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
-                [[NCManageDatabase sharedInstance] setMetadataSession:@"" sessionError:@"" sessionSelector:@"" sessionSelectorPost:@"" sessionTaskIdentifier:k_taskIdentifierDone  status:k_metadataStatusNULL predicate:[NSPredicate predicateWithFormat:@"account = %@ AND session CONTAINS 'download'", _activeAccount]];
-            });
-        }
-    }
-        
-    if (upload) {
-        
-        [[self sessionUpload] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
-            for (NSURLSessionTask *task in uploadTasks)
-                if (taskStatus == k_taskStatusCancel)[task cancel];
-                else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                else if (taskStatus == k_taskStatusResume) [task resume];
-        }];
-        
-        [[self sessionWWanUpload] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
-            for (NSURLSessionTask *task in uploadTasks)
-                if (taskStatus == k_taskStatusCancel) [task cancel];
-                else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                else if (taskStatus == k_taskStatusResume) [task resume];
-        }];
-        
-        [[self sessionUploadForeground] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
-            for (NSURLSessionTask *task in uploadTasks)
-                if (taskStatus == k_taskStatusCancel) [task cancel];
-                else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                else if (taskStatus == k_taskStatusResume) [task resume];
-        }];
-        
-        if (taskStatus == k_taskStatusCancel) {
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
-                [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"session CONTAINS 'upload'"] clearDateReadDirectoryID:nil];
-                [CCUtility removeAllFileID_UPLOAD_ActiveUser:activeUser activeUrl:activeUrl];
-            });
-        }
-    }
-}
-
-- (void)settingSession:(NSString *)sessionDescription sessionTaskIdentifier:(NSUInteger)sessionTaskIdentifier taskStatus:(NSInteger)taskStatus
-{
-    NSURLSession *session = [self getSessionfromSessionDescription:sessionDescription];
-    
-    [session getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
-        
-        if ([sessionDescription containsString:@"download"])
-            for (NSURLSessionTask *task in downloadTasks)
-                if (task.taskIdentifier == sessionTaskIdentifier) {
-                    if (taskStatus == k_taskStatusCancel) [task cancel];
-                    else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                    else if (taskStatus == k_taskStatusResume) [task resume];
-                }
-        if ([sessionDescription containsString:@"upload"])
-            for (NSURLSessionTask *task in uploadTasks)
-                if (task.taskIdentifier == sessionTaskIdentifier) {
-                    if (taskStatus == k_taskStatusCancel) [task cancel];
-                    else if (taskStatus == k_taskStatusSuspend) [task suspend];
-                    else if (taskStatus == k_taskStatusResume) [task resume];
-                }
-    }];
-}
-
 - (NSArray *)getUploadTasksExtensionSession
 {
     __block NSArray *tasks = [NSArray new];

+ 0 - 2
iOSClient/Settings/CCAdvanced.m

@@ -355,7 +355,6 @@
     [self.hud visibleHudTitle:NSLocalizedString(@"_remove_cache_", nil) mode:MBProgressHUDModeIndeterminate color:nil];
         
     [appDelegate.netQueue cancelAllOperations];
-    [[CCNetworking sharedNetworking] settingSessionsDownload:YES upload:YES taskStatus:k_taskStatusCancel activeAccount:appDelegate.activeAccount activeUser:appDelegate.activeUser activeUrl:appDelegate.activeUrl];
     
     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC),dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
         
@@ -477,7 +476,6 @@
         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
             
             [appDelegate.netQueue cancelAllOperations];
-            [[CCNetworking sharedNetworking] settingSessionsDownload:YES upload:YES taskStatus:k_taskStatusCancel activeAccount:appDelegate.activeAccount activeUser:appDelegate.activeUser activeUrl:appDelegate.activeUrl];
             
             [[NSURLCache sharedURLCache] setMemoryCapacity:0];
             [[NSURLCache sharedURLCache] setDiskCapacity:0];

+ 2 - 4
iOSClient/Settings/CCManageAutoUpload.m

@@ -249,7 +249,7 @@
             [[NCManageDatabase sharedInstance] setAccountAutoUploadProperty:@"autoUploadFull" state:NO];
 
             // remove
-//            [[NCManageDatabase sharedInstance] clearTable:[tableQueueUpload class] account:appDelegate.activeAccount];
+            [[NCManageDatabase sharedInstance] clearMetadatasUpload];
         }
         
         [self reloadForm];
@@ -294,9 +294,7 @@
             
         } else {
             
-//            [[NCManageDatabase sharedInstance] clearTable:[tableQueueUpload class] account:appDelegate.activeAccount];
-            
-            [[CCNetworking sharedNetworking] settingSessionsDownload:NO upload:YES taskStatus:k_taskStatusCancel activeAccount:appDelegate.activeAccount activeUser:appDelegate.activeUser activeUrl:appDelegate.activeUrl];
+            [[NCManageDatabase sharedInstance] clearMetadatasUpload];
             
             [[NCManageDatabase sharedInstance] setAccountAutoUploadProperty:@"autoUploadFull" state:NO];
         }