Browse Source

fix blink cell

marinofaggiana 5 years ago
parent
commit
3fe8f4bf10
2 changed files with 31 additions and 24 deletions
  1. 25 20
      iOSClient/AppDelegate.m
  2. 6 4
      iOSClient/Main/CCMain.m

+ 25 - 20
iOSClient/AppDelegate.m

@@ -1607,29 +1607,34 @@ PKPushRegistry *pushRegistry;
                                 [tbc setSelectedIndex: k_tabBarApplicationIndexFile];
                             }
                             
-                            [self.activeMain.navigationController popToRootViewControllerAnimated:NO];
+                            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
                             
-                            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                            
-                                NSString *fileNamePath = [NSString stringWithFormat:@"%@%@/%@", matchedAccount.url, k_webDAV, path];
-
-                                if ([path containsString:@"/"]) {
-                                    
-                                    // Push
-                                    NSString *directoryName = [[path stringByDeletingLastPathComponent] lastPathComponent];
-                                    NSString *serverUrl = [CCUtility deletingLastPathComponentFromServerUrl:[NSString stringWithFormat:@"%@%@/%@", matchedAccount.url, k_webDAV, [path stringByDeletingLastPathComponent]]];
-                                    tableMetadata *metadata = [CCUtility createMetadataWithAccount:matchedAccount.account date:[NSDate date] directory:NO fileID:[[NSUUID UUID] UUIDString] serverUrl:serverUrl fileName:directoryName etag:@"" size:0 status:k_metadataStatusNormal url:@""];
-
-                                    [self.activeMain performSegueDirectoryWithControlPasscode:true metadata:metadata scrollToFileNamePath:fileNamePath];
+                                [CATransaction begin];
+                                [CATransaction setCompletionBlock:^{
                                     
-                                } else {
+                                    NSString *fileNamePath = [NSString stringWithFormat:@"%@%@/%@", matchedAccount.url, k_webDAV, path];
                                     
-                                    // Reload folder
-                                    NSString *serverUrl = [NSString stringWithFormat:@"%@%@", matchedAccount.url, k_webDAV];
-                                    
-                                    self.activeMain.scrollToFileNamePath = fileNamePath;
-                                    [self.activeMain readFolder:serverUrl];
-                                }
+                                    if ([path containsString:@"/"]) {
+                                        
+                                        // Push
+                                        NSString *directoryName = [[path stringByDeletingLastPathComponent] lastPathComponent];
+                                        NSString *serverUrl = [CCUtility deletingLastPathComponentFromServerUrl:[NSString stringWithFormat:@"%@%@/%@", matchedAccount.url, k_webDAV, [path stringByDeletingLastPathComponent]]];
+                                        tableMetadata *metadata = [CCUtility createMetadataWithAccount:matchedAccount.account date:[NSDate date] directory:NO fileID:[[NSUUID UUID] UUIDString] serverUrl:serverUrl fileName:directoryName etag:@"" size:0 status:k_metadataStatusNormal url:@""];
+                                        
+                                        [self.activeMain performSegueDirectoryWithControlPasscode:true metadata:metadata scrollToFileNamePath:fileNamePath];
+                                        
+                                    } else {
+                                        
+                                        // Reload folder
+                                        NSString *serverUrl = [NSString stringWithFormat:@"%@%@", matchedAccount.url, k_webDAV];
+                                        
+                                        self.activeMain.scrollToFileNamePath = fileNamePath;
+                                        [self.activeMain readFolder:serverUrl];
+                                    }
+                                }];
+                                
+                                [self.activeMain.navigationController popToRootViewControllerAnimated:NO];
+                                [CATransaction commit];
                             });
                         
                         } else {

+ 6 - 4
iOSClient/Main/CCMain.m

@@ -3727,10 +3727,12 @@
                         [UIView animateWithDuration:0.5 animations:^{
                             [self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:NO];
                         } completion:^(BOOL finished) {
-                            CCCellMain *cell = [self.tableView cellForRowAtIndexPath:indexPath];
-                            if (cell) {
-                                [cell blink];
-                            }
+                            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
+                                CCCellMain *cell = [self.tableView cellForRowAtIndexPath:indexPath];
+                                if (cell) {
+                                    [cell blink];
+                                }
+                            });
                         }];
                     }
                 }