瀏覽代碼

bugfix graphics sync

Marino Faggiana 8 年之前
父節點
當前提交
ff991778ae
共有 5 個文件被更改,包括 26 次插入16 次删除
  1. 1 8
      iOSClient/AppDelegate.m
  2. 1 1
      iOSClient/Main/CCMain.h
  3. 2 2
      iOSClient/Main/CCMain.m
  4. 2 0
      iOSClient/Offline/CCSynchronize.h
  5. 20 5
      iOSClient/Offline/CCSynchronize.m

+ 1 - 8
iOSClient/AppDelegate.m

@@ -374,14 +374,7 @@
 {
 // BACKGROND & FOREGROUND
     
-    /* Active/Disactive Graphics Animation Offline Folders */
-    NSArray *records = [CCCoreData getOfflineDirectoryActiveAccount:app.activeAccount];
-    NSMutableArray *directory = [[NSMutableArray alloc] init];
-    for (TableDirectory *record in records)
-        [directory addObject:record.serverUrl];
-    
-    if ([directory count] > 0)
-        [[CCSynchronize sharedSynchronize] synchronizeFolderAnimationDirectory:directory setGraphicsFolder:YES];
+    [[CCSynchronize sharedSynchronize] synchronizeFolderAnimationDirectory:nil setGraphicsFolder:YES];
 
 // ONLY BACKGROUND
     

+ 1 - 1
iOSClient/Main/CCMain.h

@@ -94,7 +94,7 @@
 - (void)requestSharedByServer;
 - (void)requestServerInformation;
 
-- (void)offlineFolderGraphicsServerUrl:(NSString *)serverUrl animation:(BOOL)animation;
+- (void)synchronizeFolderGraphicsServerUrl:(NSString *)serverUrl animation:(BOOL)animation;
 
 - (void)clearDateReadDataSource:(NSNotification *)notification;
 

+ 2 - 2
iOSClient/Main/CCMain.m

@@ -5548,10 +5548,10 @@
 }
 
 #pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== Offline Folder Cell =====
+#pragma mark ===== Synchronize Folder Cell =====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)offlineFolderGraphicsServerUrl:(NSString *)serverUrl animation:(BOOL)animation
+- (void)synchronizeFolderGraphicsServerUrl:(NSString *)serverUrl animation:(BOOL)animation
 {
     BOOL cryptated = NO;
     CCCellMain *cell;

+ 2 - 0
iOSClient/Offline/CCSynchronize.h

@@ -33,6 +33,8 @@
 
 + (CCSynchronize *)sharedSynchronize;
 
+@property (nonatomic, strong) NSMutableOrderedSet *foldersInSynchronized;
+
 - (void)readListingFavorites;
 - (void)readOffline;
 

+ 20 - 5
iOSClient/Offline/CCSynchronize.m

@@ -38,13 +38,17 @@
 
 @implementation CCSynchronize
 
-+ (CCSynchronize *)sharedSynchronize{
++ (CCSynchronize *)sharedSynchronize {
+    
     static CCSynchronize *sharedSynchronize;
+    
     @synchronized(self)
     {
         if (!sharedSynchronize) {
             
-            sharedSynchronize = [[CCSynchronize alloc] init];
+            sharedSynchronize = [CCSynchronize new];
+            
+            sharedSynchronize.foldersInSynchronized = [NSMutableOrderedSet new];
         }
         return sharedSynchronize;
     }
@@ -216,9 +220,18 @@
 {
     BOOL animation = NO;
     BOOL isAtLeastOneInAnimation = NO;
-    NSMutableOrderedSet *serversUrlInDownload = [[NSMutableOrderedSet alloc] init];
+    NSMutableOrderedSet *serversUrlInDownload = [NSMutableOrderedSet new];
+    
+    // test
+    if ([directory count] == 0 && [self.foldersInSynchronized count] == 0)
+        return isAtLeastOneInAnimation;
+    
+    if (directory)
+        [self.foldersInSynchronized addObjectsFromArray:directory];
+    else
+        directory = [[NSArray alloc] initWithArray:self.foldersInSynchronized.array];
     
-    // Active for download
+    // Active in download
     NSMutableArray *metadatasNet = [app verifyExistsInQueuesDownloadSelector:selectorDownloadSynchronize];
     
     for (CCMetadataNet *metadataNet in metadatasNet)
@@ -232,13 +245,15 @@
         
         if (animation)
             isAtLeastOneInAnimation = YES;
+        else
+            [self.foldersInSynchronized removeObject:serverUrl];
         
         if (setGraphicsFolder) {
             
             NSString *serverUrlOffline = [CCUtility deletingLastPathComponentFromServerUrl:serverUrl];
             CCMain *viewController = [app.listMainVC objectForKey:serverUrlOffline];
             if (viewController)
-                [viewController offlineFolderGraphicsServerUrl:serverUrl animation:animation];
+                [viewController synchronizeFolderGraphicsServerUrl:serverUrl animation:animation];
         }
     }