Marino Faggiana 6 years ago
parent
commit
c22261f0bc
3 changed files with 92 additions and 41 deletions
  1. 23 11
      iOSClient/Favorites/CCFavorites.m
  2. 43 24
      iOSClient/Main/CCMain.m
  3. 26 6
      iOSClient/Media/CCMedia.m

+ 23 - 11
iOSClient/Favorites/CCFavorites.m

@@ -85,6 +85,9 @@
         self.title = _titleViewControl;
     else
         self.title = NSLocalizedString(@"_favorites_", nil);
+    
+    // Query data source
+    [self queryDatasource];
 }
 
 // Apparirà
@@ -559,33 +562,42 @@
         return;
     }
     
-    NSArray *recordsTableMetadata ;
+    [self queryDatasource];
+}
+
+- (void)queryDatasource
+{
+    // test
+    if (appDelegate.activeAccount.length == 0) {
+        return;
+    }
     
+    NSArray *recordsTableMetadata;
     NSString *sorted = [CCUtility getOrderSettings];
-    if ([sorted isEqualToString:@"fileName"])
-        sorted = @"fileName";
-        
+    if ([sorted isEqualToString:@"fileName"]) sorted = @"fileName";
+    
+    // get auto upload folder
+    autoUploadFileName = [[NCManageDatabase sharedInstance] getAccountAutoUploadFileName];
+    autoUploadDirectory = [[NCManageDatabase sharedInstance] getAccountAutoUploadDirectory:appDelegate.activeUrl];
+    
     if (!_serverUrl) {
         
         recordsTableMetadata = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND favorite == true", appDelegate.activeAccount] sorted:sorted ascending:[CCUtility getAscendingSettings]];
-            
+        
     } else {
         
-        NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:_serverUrl];        
+        NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:_serverUrl];
         
         if (directoryID)
             recordsTableMetadata = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"directoryID == %@", directoryID] sorted:sorted ascending:[CCUtility getAscendingSettings]];
     }
-        
+    
     sectionDataSource = [CCSectionMetadata creataDataSourseSectionMetadata:recordsTableMetadata listProgressMetadata:nil groupByField:nil filterFileID:appDelegate.filterFileID filterTypeFileImage:NO filterTypeFileVideo:NO activeAccount:appDelegate.activeAccount];
-        
-    // get auto upload folder
-    autoUploadFileName = [[NCManageDatabase sharedInstance] getAccountAutoUploadFileName];
-    autoUploadDirectory = [[NCManageDatabase sharedInstance] getAccountAutoUploadDirectory:appDelegate.activeUrl];
     
     [self.tableView reloadData];
 }
 
+
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
 {
     return 60;

+ 43 - 24
iOSClient/Main/CCMain.m

@@ -214,6 +214,9 @@
     } else {
         [self searchEnabled:YES];
     }
+    
+    // Query data source
+    [self queryDatasourceWithReloadData:YES serverUrl:self.serverUrl];
 }
 
 // E' arrivato
@@ -3784,9 +3787,6 @@
     if (_metadataFolder.e2eEncrypted)
         _dateReadDataSource = nil;
     
-    // current directoryID
-    NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrl];
-
     // Controllo data lettura Data Source
     tableDirectory *tableDirectory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@", appDelegate.activeAccount, serverUrl]];
     // Get MetadataFolder
@@ -3803,30 +3803,15 @@
     
         // Data Source
         
-        NSString *sorted = _directoryOrder;
-        if ([sorted isEqualToString:@"fileName"])
-            sorted = @"fileName";
-        
-        if (directoryID) {
-        
-            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
-                
-                CCSectionDataSourceMetadata *sectionDataSourceTemp = [CCSectionDataSourceMetadata new];
-
-                NSArray *recordsTableMetadata = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"directoryID == %@ AND status != %i", directoryID, k_metadataStatusHide] sorted:sorted ascending:[CCUtility getAscendingSettings]];
+        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                 
-                sectionDataSourceTemp = [CCSectionMetadata creataDataSourseSectionMetadata:recordsTableMetadata listProgressMetadata:nil groupByField:_directoryGroupBy filterFileID:appDelegate.filterFileID filterTypeFileImage:NO filterTypeFileVideo:NO activeAccount:appDelegate.activeAccount];
-                
-                // get auto upload folder
-                _autoUploadFileName = [[NCManageDatabase sharedInstance] getAccountAutoUploadFileName];
-                _autoUploadDirectory = [[NCManageDatabase sharedInstance] getAccountAutoUploadDirectory:appDelegate.activeUrl];
+            CCSectionDataSourceMetadata *sectionDataSourceTemp = [self queryDatasourceWithReloadData:NO serverUrl:serverUrl];
             
-                dispatch_async(dispatch_get_main_queue(), ^{
-                    sectionDataSource = sectionDataSourceTemp;
-                    [self tableViewReloadData];
-                });
+            dispatch_async(dispatch_get_main_queue(), ^{
+                sectionDataSource = sectionDataSourceTemp;
+                [self tableViewReloadData];
             });
-        }
+        });
         
     } else {
         
@@ -3837,6 +3822,40 @@
     
 }
 
+- (CCSectionDataSourceMetadata *)queryDatasourceWithReloadData:(BOOL)withReloadData serverUrl:(NSString *)serverUrl
+{
+    // test
+    if (appDelegate.activeAccount.length == 0 || serverUrl == nil) {
+        return nil;
+    }
+    
+    // current directoryID
+    NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrl];
+    if (directoryID == nil) {
+        return nil;
+    }
+    
+    // get auto upload folder
+    _autoUploadFileName = [[NCManageDatabase sharedInstance] getAccountAutoUploadFileName];
+    _autoUploadDirectory = [[NCManageDatabase sharedInstance] getAccountAutoUploadDirectory:appDelegate.activeUrl];
+    
+    CCSectionDataSourceMetadata *sectionDataSourceTemp = [CCSectionDataSourceMetadata new];
+
+    NSString *sorted = _directoryOrder;
+    if ([sorted isEqualToString:@"fileName"]) sorted = @"fileName";
+    
+    NSArray *recordsTableMetadata = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"directoryID == %@ AND status != %i", directoryID, k_metadataStatusHide] sorted:sorted ascending:[CCUtility getAscendingSettings]];
+    
+    sectionDataSourceTemp = [CCSectionMetadata creataDataSourseSectionMetadata:recordsTableMetadata listProgressMetadata:nil groupByField:[CCUtility getGroupBySettings] filterFileID:appDelegate.filterFileID filterTypeFileImage:NO filterTypeFileVideo:NO activeAccount:appDelegate.activeAccount];
+    
+    if (withReloadData) {
+        sectionDataSource = sectionDataSourceTemp;
+        [self tableViewReloadData];
+    }
+    
+    return sectionDataSourceTemp;
+}
+
 - (NSArray *)getMetadatasFromSelectedRows:(NSArray *)selectedRows
 {
     NSMutableArray *metadatas = [[NSMutableArray alloc] init];

+ 26 - 6
iOSClient/Media/CCMedia.m

@@ -108,6 +108,9 @@
     scrollBar.handleMinimiumHeight = 20;
     scrollBar.trackWidth = 0;
     scrollBar.edgeInset = 12;
+    
+    // Query data source
+    [self queryDatasourceWithReloadData:YES];
 }
 
 - (void)viewDidAppear:(BOOL)animated
@@ -631,13 +634,10 @@
     
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
 
-        CCSectionDataSourceMetadata *sectionDataSourceTemp = [CCSectionDataSourceMetadata new];
-
         collectionViewReloadDataInProgress = YES;
-        
-        NSArray *metadatas = [[NCManageDatabase sharedInstance] getTablePhotosWithAddMetadatasFromUpload:self.addMetadatasFromUpload];
-        sectionDataSourceTemp = [CCSectionMetadata creataDataSourseSectionMetadata:metadatas listProgressMetadata:nil groupByField:@"date" filterFileID:appDelegate.filterFileID filterTypeFileImage:filterTypeFileImage filterTypeFileVideo:filterTypeFileVideo activeAccount:appDelegate.activeAccount];
-        
+
+        CCSectionDataSourceMetadata *sectionDataSourceTemp = [self queryDatasourceWithReloadData:NO];
+
         dispatch_async(dispatch_get_main_queue(), ^{
                
             if (isEditMode)
@@ -655,6 +655,26 @@
     });
 }
 
+- (CCSectionDataSourceMetadata *)queryDatasourceWithReloadData:(BOOL)withReloadData
+{
+    // test
+    if (appDelegate.activeAccount.length == 0) {
+        return nil;
+    }
+    
+    CCSectionDataSourceMetadata *sectionDataSourceTemp = [CCSectionDataSourceMetadata new];
+    
+    NSArray *metadatas = [[NCManageDatabase sharedInstance] getTablePhotosWithAddMetadatasFromUpload:self.addMetadatasFromUpload];
+    sectionDataSourceTemp = [CCSectionMetadata creataDataSourseSectionMetadata:metadatas listProgressMetadata:nil groupByField:@"date" filterFileID:appDelegate.filterFileID filterTypeFileImage:filterTypeFileImage filterTypeFileVideo:filterTypeFileVideo activeAccount:appDelegate.activeAccount];
+    
+    if (withReloadData) {
+        sectionDataSource = sectionDataSourceTemp;
+        [self.collectionView reloadData];
+    }
+    
+    return sectionDataSourceTemp;
+}
+
 - (void)editingModeYES
 {
     [self.collectionView setAllowsMultipleSelection:true];