Browse Source

Favorites (offline)

Marino Faggiana 8 years ago
parent
commit
8ee60d557f

+ 1 - 1
iOSClient/AppDelegate.m

@@ -352,7 +352,7 @@
     NSLog(@"[LOG] Update Folder Photo");
     NSString *folderCameraUpload = [CCCoreData getCameraUploadFolderNamePathActiveAccount:self.activeAccount activeUrl:self.activeUrl];
     if ([folderCameraUpload length] > 0)
-        [[CCSynchronize sharedSynchronize] readFolderServerUrl:folderCameraUpload directoryID:[CCCoreData getDirectoryIDFromServerUrl:folderCameraUpload activeAccount:self.activeAccount] selector:selectorReadFolderRefresh];
+        [[CCSynchronize sharedSynchronize] readFolderServerUrl:folderCameraUpload directoryID:[CCCoreData getDirectoryIDFromServerUrl:folderCameraUpload activeAccount:self.activeAccount] selector:selectorReadFolder];
 
     // Execute : after 0.5 sec.
     

+ 1 - 2
iOSClient/CCGlobal.h

@@ -154,12 +154,11 @@ extern NSString *const urlBaseUploadDB;
 #define selectorOpenIn                                  @"openIn"
 #define selectorOpenWindowShare                         @"openWindowShare"
 #define selectorReadFile                                @"readFile"
-#define selectorReadFileOffline                         @"readFileOffline"
 #define selectorReadFileUploadFile                      @"readFileUploadFile"
 #define selectorReadFileVerifyUpload                    @"readFileVerifyUpload"
 #define selectorReadFolder                              @"readFolder"
 #define selectorReadFolderForced                        @"readFolderForced"
-#define selectorReadFolderRefresh                       @"readFolderRefresh"
+#define selectorReadFolderWithDownload                  @"readFolderWithDownload"
 #define selectorReadShare                               @"readShare"
 #define selectorReload                                  @"reload"
 #define selectorRename                                  @"rename"

+ 2 - 2
iOSClient/Main/CCMain.m

@@ -1846,7 +1846,7 @@
     // File is changed ??
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
         if (!_isSearchMode)
-            [[CCSynchronize sharedSynchronize] verifyChangeMedatas:metadatas serverUrl:metadataNet.serverUrl account:app.activeAccount synchronize:NO];
+            [[CCSynchronize sharedSynchronize] verifyChangeMedatas:metadatas serverUrl:metadataNet.serverUrl account:app.activeAccount withDownload:NO];
     });
 
     // Search Mode
@@ -4480,7 +4480,7 @@
                                         NSLog(@"[LOG] Update Folder Photo");
                                         NSString *folderCameraUpload = [CCCoreData getCameraUploadFolderNamePathActiveAccount:app.activeAccount activeUrl:app.activeUrl];
                                         if ([folderCameraUpload length] > 0)
-                                            [[CCSynchronize sharedSynchronize] readFolderServerUrl:folderCameraUpload directoryID:[CCCoreData getDirectoryIDFromServerUrl:folderCameraUpload activeAccount:app.activeAccount] selector:selectorReadFolderRefresh];
+                                            [[CCSynchronize sharedSynchronize] readFolderServerUrl:folderCameraUpload directoryID:[CCCoreData getDirectoryIDFromServerUrl:folderCameraUpload activeAccount:app.activeAccount] selector:selectorReadFolder];
 
                                     }];
         }

+ 1 - 1
iOSClient/Offline/CCSynchronize.h

@@ -41,7 +41,7 @@
 - (void)addFavoriteFolder:(NSString *)serverUrl;
 - (void)addOfflineFolder:(NSString *)serverUrl;
 
-- (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account synchronize:(BOOL)synchronize;
+- (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account withDownload:(BOOL)withDownload;
 
 - (BOOL)synchronizeFolderAnimationDirectory:(NSArray *)directory setGraphicsFolder:(BOOL)setGraphicsFolder;
 

+ 25 - 19
iOSClient/Offline/CCSynchronize.m

@@ -86,9 +86,9 @@
     metadataNet.priority = NSOperationQueuePriorityNormal;
     
     if ([CCUtility getFavoriteOffline])
-        selector = selectorReadFolder;
+        selector = selectorReadFolderWithDownload;
     else
-        selector = selectorReadFolderRefresh;
+        selector = selectorReadFolder;
     
     metadataNet.selector = selector;
     metadataNet.serverUrl = serverUrl;
@@ -139,15 +139,18 @@
                 NSString *selector;
                 
                 if ([CCUtility getFavoriteOffline])
-                    selector = selectorReadFolder;
+                    selector = selectorReadFolderWithDownload;
                 else
-                    selector = selectorReadFolderRefresh;
+                    selector = selectorReadFolder;
                 
                 [self readFolderServerUrl:serverUrl directoryID:directoryID selector:selector];
                 
             } else {
                 
-                [self readFile:metadata];
+                if ([CCUtility getFavoriteOffline])
+                    [self readFile:metadata withDownload:YES];
+                else
+                    [self readFile:metadata withDownload:NO];
             }
             
             father = serverUrl;
@@ -200,7 +203,7 @@
         
         for (CCMetadata *metadata in metadatas) {
             
-            [self readFile:metadata];
+            [self readFile:metadata withDownload:YES];
         }
     });
 }
@@ -343,7 +346,7 @@
                 
             } else {
             
-                if ([metadataNet.selector isEqualToString:selectorReadFolder]) {
+                if ([metadataNet.selector isEqualToString:selectorReadFolderWithDownload]) {
                     
                     // It's in session
                     BOOL recordInSession = NO;
@@ -361,7 +364,7 @@
                     [metadatasForVerifyChange addObject:metadata];
                 }
                 
-                if ([metadataNet.selector isEqualToString:selectorReadFolderRefresh]) {
+                if ([metadataNet.selector isEqualToString:selectorReadFolder]) {
                     
                     // Verify if do not exists this Metadata
                     if (![CCCoreData getTableMetadataWithPreficate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileID == %@)", metadataNet.account, metadata.fileID]]) {
@@ -375,7 +378,7 @@
         }
         
         if ([metadatasForVerifyChange count] > 0)
-            [self verifyChangeMedatas:metadatasForVerifyChange serverUrl:metadataNet.serverUrl account:metadataNet.account synchronize:YES];
+            [self verifyChangeMedatas:metadatasForVerifyChange serverUrl:metadataNet.serverUrl account:metadataNet.account withDownload:YES];
     });
 }
 
@@ -383,7 +386,7 @@
 #pragma mark ===== Read File =====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)readFile:(CCMetadata *)metadata
+- (void)readFile:(CCMetadata *)metadata withDownload:(BOOL)withDownload
 {
     NSString *serverUrl = [CCCoreData getServerUrlFromDirectoryID:metadata.directoryID activeAccount:app.activeAccount];
     if (serverUrl == nil) return;
@@ -394,10 +397,11 @@
     metadataNet.fileID = metadata.fileID;
     metadataNet.fileName = metadata.fileName;
     metadataNet.fileNamePrint = metadata.fileNamePrint;
-    metadataNet.serverUrl = serverUrl;
-    metadataNet.selector = selectorReadFileOffline;
+    metadataNet.options = [NSNumber numberWithBool:withDownload] ;
     metadataNet.priority = NSOperationQueuePriorityLow;
-        
+    metadataNet.selector = selectorReadFile;
+    metadataNet.serverUrl = serverUrl;
+    
     [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
 }
 
@@ -417,7 +421,9 @@
 {
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
         
-        [self verifyChangeMedatas:[[NSArray alloc] initWithObjects:metadata, nil] serverUrl:metadataNet.serverUrl account:app.activeAccount synchronize:NO];
+        BOOL withDownload = [metadataNet.options boolValue];
+        
+        [self verifyChangeMedatas:[[NSArray alloc] initWithObjects:metadata, nil] serverUrl:metadataNet.serverUrl account:app.activeAccount withDownload:withDownload];
     });
 }
 
@@ -426,7 +432,7 @@
 #pragma --------------------------------------------------------------------------------------------
 
 // MULTI THREAD
-- (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account synchronize:(BOOL)synchronize
+- (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account withDownload:(BOOL)withDownload
 {
     NSMutableArray *metadatas = [[NSMutableArray alloc] init];
     
@@ -444,7 +450,7 @@
         
         TableLocalFile *record = [TableLocalFile MR_findFirstWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileID == %@)", app.activeAccount, metadata.fileID]];
         
-        if (synchronize) {
+        if (withDownload) {
             
             if (![record.rev isEqualToString:metadata.rev])
                 changeRev = YES;
@@ -476,15 +482,15 @@
     
     dispatch_async(dispatch_get_main_queue(), ^{
         if ([metadatas count])
-            [self SynchronizeMetadatas:metadatas serverUrl:serverUrl synchronize:synchronize];
+            [self SynchronizeMetadatas:metadatas serverUrl:serverUrl withDownload:withDownload];
     });
 }
 
 // MAIN THREAD
-- (void)SynchronizeMetadatas:(NSArray *)metadatas serverUrl:(NSString *)serverUrl synchronize:(BOOL)synchronize
+- (void)SynchronizeMetadatas:(NSArray *)metadatas serverUrl:(NSString *)serverUrl withDownload:(BOOL)withDownload
 {
     // HUD
-    if ([metadatas count] > 50 && synchronize) {
+    if ([metadatas count] > 50 && withDownload) {
         if (!_hud) _hud = [[CCHud alloc] initWithView:[[[UIApplication sharedApplication] delegate] window]];
         [_hud visibleIndeterminateHud];
     }

+ 3 - 8
iOSClient/Settings/CCSettings.m

@@ -698,22 +698,17 @@
     
     for (TableMetadata *tableMetadata in recordsTableMetadata) {
         
-        if (tableMetadata.directory) {
+        if ([tableMetadata.directory boolValue]) {
         
             NSString *serverUrl = [CCCoreData getServerUrlFromDirectoryID:tableMetadata.directoryID activeAccount:app.activeAccount];
             serverUrl = [CCUtility stringAppendServerUrl:serverUrl addFileName:tableMetadata.fileNamePrint];
         
             NSArray *TableDirectories = [CCCoreData getDirectoryIDsFromBeginsWithServerUrl:serverUrl activeAccount:app.activeAccount];
         
-            for (TableDirectory *tableDirecory in TableDirectories) {
-                NSLog(@"%@", tableDirecory.serverUrl);
+            for (TableDirectory *tableDirecory in TableDirectories)
                 [CCCoreData clearDateReadAccount:app.activeAccount serverUrl:nil directoryID:tableDirecory.directoryID];
-            }
-            
-        } else {
             
-            [CCCoreData clearDateReadAccount:app.activeAccount serverUrl:nil directoryID:tableMetadata.directoryID];
-        }
+        } 
     }
     
     [[CCSynchronize sharedSynchronize] readListingFavorites];