瀏覽代碼

ottimization

Marino Faggiana 8 年之前
父節點
當前提交
3193251087
共有 3 個文件被更改,包括 31 次插入10 次删除
  1. 1 1
      iOSClient/AppDelegate.m
  2. 12 1
      iOSClient/FileSystem/CCCoreData.m
  3. 18 8
      iOSClient/Offline/CCOfflineFolder.m

+ 1 - 1
iOSClient/AppDelegate.m

@@ -358,7 +358,7 @@
         NSLog(@"[LOG] read file Offline");
         [[NSNotificationCenter defaultCenter] postNotificationName:@"readFileOffline" object:nil];
         
-        NSLog(@"[LOG]  read folder offline");
+        NSLog(@"[LOG] read folder offline");
         [[CCOfflineFolder sharedOfflineFolder] readFolderOffline];
         
     });

+ 12 - 1
iOSClient/FileSystem/CCCoreData.m

@@ -1112,7 +1112,18 @@
 + (NSArray *)getOfflineDirectoryActiveAccount:(NSString *)activeAccount
 {
     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (offline == 1)", activeAccount];
-    return [TableDirectory MR_findAllWithPredicate:predicate];
+    NSArray *recordsTable = [TableDirectory MR_findAllWithPredicate:predicate];
+    
+    // Order by serverUrl
+    NSArray *sortedRecordsTable = [recordsTable sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
+        
+        TableDirectory *record1 = obj1, *record2 = obj2;
+        
+        return (record1.serverUrl < record2.serverUrl);
+        
+    }];
+
+    return sortedRecordsTable;
 }
 
 + (void)setOfflineDirectory:(NSString *)serverUrl offline:(BOOL)offline activeAccount:(NSString *)activeAccount

+ 18 - 8
iOSClient/Offline/CCOfflineFolder.m

@@ -60,20 +60,28 @@
     if ([[app verifyExistsInQueuesDownloadSelector:selectorDownloadOffline] count] > 0)
         return;
     
+    NSString *father = @"";
     NSArray *directories = [CCCoreData getOfflineDirectoryActiveAccount:app.activeAccount];
     
     for (TableDirectory *directory in directories) {
         
-        CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
+        if (![directory.serverUrl containsString:father]) {
         
-        metadataNet.action = actionReadFolder;
-        metadataNet.date = [NSDate date];
-        metadataNet.directoryID = directory.directoryID;
-        metadataNet.priority = NSOperationQueuePriorityVeryLow;
-        metadataNet.selector = selectorOfflineFolder;
-        metadataNet.serverUrl = directory.serverUrl;
+            father = directory.serverUrl;
+            
+            CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
+        
+            metadataNet.action = actionReadFolder;
+            metadataNet.date = [NSDate date];
+            metadataNet.directoryID = directory.directoryID;
+            metadataNet.priority = NSOperationQueuePriorityVeryLow;
+            metadataNet.selector = selectorOfflineFolder;
+            metadataNet.serverUrl = directory.serverUrl;
         
-        [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
+            [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
+            
+            NSLog(@"[LOG] Read offline directory : %@", directory.serverUrl);
+        }
     }
 }
 
@@ -96,6 +104,8 @@
     metadataNet.serverUrl = serverUrl;
         
     [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
+    
+    NSLog(@"[LOG] Read offline directory : %@", serverUrl);
 }
 
 #pragma --------------------------------------------------------------------------------------------