Marino Faggiana %!s(int64=6) %!d(string=hai) anos
pai
achega
825f586cef

+ 3 - 0
File Provider Extension/FileProviderData.swift

@@ -55,6 +55,9 @@ class FileProviderData: NSObject {
     var fileProviderSignalDeleteWorkingSetItemIdentifier = [NSFileProviderItemIdentifier:NSFileProviderItemIdentifier]()
     var fileProviderSignalUpdateWorkingSetItem = [NSFileProviderItemIdentifier:FileProviderItem]()
     
+    // UserDefaults
+    var ncUserDefaults = UserDefaults(suiteName: NCBrandOptions.sharedInstance.capabilitiesGroups)
+    
     // MARK: - 
     
     func setupActiveAccount() -> Bool {

+ 3 - 0
iOSClient/AppDelegate.h

@@ -124,6 +124,9 @@
 // Maintenance Mode
 @property BOOL maintenanceMode;
 
+// UserDefaults
+@property (nonatomic, strong) NSUserDefaults *ncUserDefaults;
+
 // Login View
 - (void)openLoginView:(id)delegate loginType:(enumLoginType)loginType;
 

+ 5 - 2
iOSClient/AppDelegate.m

@@ -170,7 +170,10 @@
    
     // Add notification change session
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sessionChanged:) name:k_networkingSessionNotification object:nil];
-        
+    
+    // UserDefaults
+    self.ncUserDefaults = [[NSUserDefaults alloc] initWithSuiteName:[NCBrandOptions sharedInstance].capabilitiesGroups];
+    
     // Initialization Share
     self.sharesID = [NSMutableDictionary new];
     self.sharesLink = [NSMutableDictionary new];
@@ -236,7 +239,7 @@
     // Fabric
     [Fabric with:@[[Crashlytics class]]];
     [self logUser];
-        
+    
     return YES;
 }
 

+ 58 - 49
iOSClient/Main/CCMain.m

@@ -2218,49 +2218,6 @@
     }
 }
 
-- (void)cancelAllTask:(id)sender
-{
-    CGPoint location = [sender locationInView:self.tableView];
-    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
-
-    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
-    
-    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_cancel_all_task_", nil) style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
-        
-        // Delete k_metadataStatusWaitUpload OR k_metadataStatusUploadError
-        [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND (status == %d OR status == %d)", appDelegate.activeAccount, k_metadataStatusWaitUpload, k_metadataStatusUploadError] clearDateReadDirectoryID:nil];
-        
-        NSArray *metadatas = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND status != %d AND status != %d", appDelegate.activeAccount, k_metadataStatusNormal, k_metadataStatusHide] sorted:@"fileName" ascending:true];
-        
-        for (tableMetadata *metadata in metadatas) {
-            
-            // Modify
-            if (metadata.status == k_metadataStatusWaitDownload || metadata.status == k_metadataStatusDownloadError) {
-                metadata.session = @"";
-                metadata.sessionSelector = @"";
-                metadata.status = k_metadataStatusNormal;
-                (void)[[NCManageDatabase sharedInstance] addMetadata:metadata];
-            }
-            // Cancel Task
-            if (metadata.status == k_metadataStatusDownloading || metadata.status == k_metadataStatusUploading) {
-                [self cancelTaskButton:metadata reloadTable:NO];
-            }
-        }
-        
-        [self reloadDatasource];
-    }]];
-    
-    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_cancel_", nil) style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { }]];
-    
-    alertController.popoverPresentationController.sourceView = self.view;
-    alertController.popoverPresentationController.sourceRect = [self.tableView rectForRowAtIndexPath:indexPath];
-    
-    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
-        [alertController.view layoutIfNeeded];
-    
-    [self presentViewController:alertController animated:YES completion:nil];
-}
-
 - (void)cancelTaskButton:(tableMetadata *)metadata reloadTable:(BOOL)reloadTable
 {    
     NSURLSession *session = [[CCNetworking sharedNetworking] getSessionfromSessionDescription:metadata.session];
@@ -2269,6 +2226,21 @@
     NSInteger sessionTaskIdentifier = metadata.sessionTaskIdentifier;
     NSString *fileID = metadata.fileID;
     
+    // SESSION EXTENSION
+    if ([metadata.session isEqualToString:k_download_session_extension] || [metadata.session isEqualToString:k_upload_session_extension]) {
+        
+        if ([metadata.session isEqualToString:k_upload_session_extension]) {
+            [[NSFileManager defaultManager] removeItemAtPath:[CCUtility getDirectoryProviderStorageFileID:fileID] error:nil];
+            [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileID] clearDateReadDirectoryID:nil];
+        } else {
+            [[NCManageDatabase sharedInstance] setMetadataSession:@"" sessionError:@"" sessionSelector:@"" sessionTaskIdentifier:k_taskIdentifierDone status:k_metadataStatusNormal predicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileID]];
+        }
+    
+        [self reloadDatasource];
+        
+        return;
+    }
+    
     // DOWNLOAD
     if ([metadata.session length] > 0 && [metadata.session containsString:@"download"]) {
         
@@ -2312,6 +2284,49 @@
     }
 }
 
+- (void)cancelAllTask:(id)sender
+{
+    CGPoint location = [sender locationInView:self.tableView];
+    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
+    
+    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
+    
+    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_cancel_all_task_", nil) style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
+        
+        // Delete k_metadataStatusWaitUpload OR k_metadataStatusUploadError
+        [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND (status == %d OR status == %d)", appDelegate.activeAccount, k_metadataStatusWaitUpload, k_metadataStatusUploadError] clearDateReadDirectoryID:nil];
+        
+        NSArray *metadatas = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND status != %d AND status != %d", appDelegate.activeAccount, k_metadataStatusNormal, k_metadataStatusHide] sorted:@"fileName" ascending:true];
+        
+        for (tableMetadata *metadata in metadatas) {
+            
+            // Modify
+            if (metadata.status == k_metadataStatusWaitDownload || metadata.status == k_metadataStatusDownloadError) {
+                metadata.session = @"";
+                metadata.sessionSelector = @"";
+                metadata.status = k_metadataStatusNormal;
+                (void)[[NCManageDatabase sharedInstance] addMetadata:metadata];
+            }
+            // Cancel Task
+            if (metadata.status == k_metadataStatusDownloading || metadata.status == k_metadataStatusUploading) {
+                [self cancelTaskButton:metadata reloadTable:NO];
+            }
+        }
+        
+        [self reloadDatasource];
+    }]];
+    
+    [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_cancel_", nil) style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { }]];
+    
+    alertController.popoverPresentationController.sourceView = self.view;
+    alertController.popoverPresentationController.sourceRect = [self.tableView rectForRowAtIndexPath:indexPath];
+    
+    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
+        [alertController.view layoutIfNeeded];
+    
+    [self presentViewController:alertController animated:YES completion:nil];
+}
+
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Shared =====
 #pragma --------------------------------------------------------------------------------------------
@@ -4669,16 +4684,10 @@
             cell.labelTitle.enabled = NO;
             cell.labelInfoFile.enabled = NO;
             
-            cell.userInteractionEnabled = NO;
-            
-            cell.transferButton.hidden = YES;
-                        
         } else {
             
             cell.labelTitle.enabled = YES;
             cell.labelInfoFile.enabled = YES;
-            
-            cell.userInteractionEnabled = YES;
         }
         
         // downloadFile

+ 0 - 6
iOSClient/Transfers/CCTransfers.m

@@ -511,16 +511,10 @@
         cell.labelTitle.enabled = NO;
         cell.labelInfoFile.enabled = NO;
         
-        cell.userInteractionEnabled = NO;
-        
-        cell.transferButton.hidden = YES;
-        
     } else {
         
         cell.labelTitle.enabled = YES;
         cell.labelInfoFile.enabled = YES;
-        
-        cell.userInteractionEnabled = YES;
     }
     
     // downloadFile