Marino Faggiana 8 жил өмнө
parent
commit
5e2e5bf564

+ 1 - 1
iOSClient/AppDelegate.m

@@ -389,7 +389,7 @@
 // BACKGROND & FOREGROUND
     
     /* Active/Disactive Graphics Animation Offline Folders */
-    NSArray *records = [CCCoreData getDirectoryOffline:YES activeAccount:app.activeAccount];
+    NSArray *records = [CCCoreData getOfflineDirectoryActiveAccount:app.activeAccount];
     NSMutableArray *directory = [[NSMutableArray alloc] init];
     for (TableDirectory *record in records)
         [directory addObject:record.serverUrl];

+ 1 - 1
iOSClient/FileSystem/CCCoreData.h

@@ -145,7 +145,7 @@
 + (BOOL)isDirectoryOutOfDate:(int)numAddDay directoryID:(NSString *)directoryID activeAccount:(NSString *)activeAccount;
 
 + (void)removeOfflineDirectoryID:(NSString *)directoryID activeAccount:(NSString *)activeAccount;
-+ (NSArray *)getDirectoryOffline:(BOOL)offline activeAccount:(NSString *)activeAccount;
++ (NSArray *)getOfflineDirectoryActiveAccount:(NSString *)activeAccount;
 + (void)setOfflineDirectoryServerUrl:(NSString *)serverUrl offline:(BOOL)offline activeAccount:(NSString *)activeAccount;
 + (BOOL)isOfflineDirectoryServerUrl:(NSString *)serverUrl activeAccount:(NSString *)activeAccount;
 

+ 12 - 21
iOSClient/FileSystem/CCCoreData.m

@@ -1086,15 +1086,9 @@
     }];
 }
 
-+ (NSArray *)getDirectoryOffline:(BOOL)offline activeAccount:(NSString *)activeAccount
++ (NSArray *)getOfflineDirectoryActiveAccount:(NSString *)activeAccount
 {
-    NSPredicate *predicate;
-    
-    if (offline)
-        predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (offline == 1)", activeAccount];
-    else
-        predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND ((offline == 0) OR (offline == NULL))", activeAccount];
-    
+    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (offline == 1)", activeAccount];
     NSArray *recordsTable = [TableDirectory MR_findAllWithPredicate:predicate];
     
     // Order by serverUrl
@@ -1105,7 +1099,7 @@
         return [record1.serverUrl compare:record2.serverUrl];
         
     }];
-
+    
     return sortedRecordsTable;
 }
 
@@ -1750,8 +1744,7 @@
 + (NSArray *)getHomeOfflineActiveAccount:(NSString *)activeAccount directoryUser:(NSString *)directoryUser
 {
     NSMutableArray *metadatas = [NSMutableArray new];
-    NSArray *directoriesOffline = [self getDirectoryOffline:YES activeAccount:activeAccount];
-    NSArray *directoriesNoOffline = [self getDirectoryOffline:NO activeAccount:activeAccount];
+    NSArray *directoriesOffline = [self getOfflineDirectoryActiveAccount:activeAccount];
     NSString *father = @"";
 
     // Add directory
@@ -1779,18 +1772,16 @@
     
     // Add files
     
-    for (TableDirectory *directory in directoriesNoOffline) {
+    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (offline == 1)", activeAccount];
+    NSArray *localFiles = [CCCoreData getTableLocalFileWithPredicate:predicate];
+    
+    for (TableLocalFile *localFile in localFiles) {
         
-        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (directoryID == %@) AND (directory == 0)", activeAccount, directory.directoryID];
-        NSArray *tableMetadatas = [self getTableMetadataWithPredicate:predicate context:nil];
+        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (fileID == %@)", activeAccount, localFile.fileID];
+        CCMetadata *metadata = [CCCoreData getMetadataWithPreficate:predicate context:nil];
         
-        for (TableMetadata *tableMetadata in tableMetadatas) {
-            
-            TableLocalFile *tableLocalFile = [CCCoreData getLocalFileWithFileID:tableMetadata.fileID activeAccount:activeAccount];
-            if ([tableLocalFile.offline boolValue] == YES) {
-                [metadatas addObject:[self insertEntityInMetadata:tableMetadata]];
-            }
-        }
+        if (metadata)
+            [metadatas addObject:metadata];
     }
     
     return [NSArray arrayWithArray:metadatas];    

+ 1 - 1
iOSClient/Main/CCMain.m

@@ -4240,7 +4240,7 @@
                                         } else {
                                             
                                             // remove tag offline for all folder/subfolder/file
-                                            NSArray *directories = [CCCoreData getDirectoryOffline:YES activeAccount:app.activeAccount];
+                                            NSArray *directories = [CCCoreData getOfflineDirectoryActiveAccount:app.activeAccount];
                                             
                                             for (TableDirectory *directory in directories)
                                                 if ([directory.serverUrl containsString:dirServerUrl]) {

+ 1 - 1
iOSClient/Offline/CCOfflineFileFolder.m

@@ -64,7 +64,7 @@
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
         
         NSString *father = @"";
-        NSArray *directories = [CCCoreData getDirectoryOffline:YES activeAccount:app.activeAccount];
+        NSArray *directories = [CCCoreData getOfflineDirectoryActiveAccount:app.activeAccount];
     
         for (TableDirectory *directory in directories) {