Browse Source

remove semaphore on upload

Marino Faggiana 8 years ago
parent
commit
4f81fc1770
3 changed files with 27 additions and 33 deletions
  1. 0 8
      iOSClient/Main/CCMain.m
  2. 27 24
      iOSClient/Networking/CCNetworking.m
  3. 0 1
      iOSClient/Networking/OCNetworking.m

+ 0 - 8
iOSClient/Main/CCMain.m

@@ -1545,8 +1545,6 @@
 //
 - (void)uploadFileAsset:(NSMutableArray *)assets serverUrl:(NSString *)serverUrl cryptated:(BOOL)cryptated useSubFolder:(BOOL)useSubFolder session:(NSString *)session
 {
-    [_hud visibleHudTitle:nil mode:MBProgressHUDModeIndeterminate color:nil];
-    
     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void){
         [self performSelectorOnMainThread:@selector(uploadFileAssetBridge:) withObject:@[assets, serverUrl, [NSNumber numberWithBool:cryptated], [NSNumber numberWithBool:useSubFolder], session] waitUntilDone:NO];
     });
@@ -1571,8 +1569,6 @@
         
         if(![app.activePhotosCameraUpload automaticCreateFolder:folderPhotos]) {
             
-            [_hud hideHud];
-            
             [app messageNotification:@"_error_" description:@"_error_createsubfolders_upload_" visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeInfo];
             
             return;
@@ -1586,8 +1582,6 @@
                 
             if(![app.activePhotosCameraUpload automaticCreateFolder:[NSString stringWithFormat:@"%@/%@", folderPhotos, dateSubFolder]]) {
                 
-                [_hud hideHud];
-                
                 [app messageNotification:@"_error_" description:@"_error_createsubfolders_upload_" visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeInfo];
                     
                 return;
@@ -1641,8 +1635,6 @@
             [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
         }
     }
-    
-    [_hud hideHud];
 }
 
 #pragma --------------------------------------------------------------------------------------------

+ 27 - 24
iOSClient/Networking/CCNetworking.m

@@ -737,8 +737,6 @@
         
         @autoreleasepool {
             
-            dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
-            
             PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
             options.version = PHVideoRequestOptionsVersionOriginal;
         
@@ -762,12 +760,22 @@
                     
                     error = [NSError errorWithDomain:@"it.twsweb.cryptocloud" code:kCFURLErrorFileDoesNotExist userInfo:nil];
                 }
+                
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    
+                    if (error) {
+                    
+                        // Error for uploadFileFailure
+                        if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
+                            [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:@"_read_file_error_" errorCode:error.code];
+                    
+                    } else {
                     
-                dispatch_semaphore_signal(semaphore);
+                        [self upload:fileName serverUrl:serverUrl cryptated:cryptated template:NO onlyPlist:NO assetFileName:assetFileName assetDate:assetDate assetMediaType:assetMediaType localIdentifier:localIdentifier session:session taskStatus:taskStatus selector:selector selectorPost:selectorPost errorCode:errorCode delegate:delegate];
+                    }
+                });
+                
             }];
-            
-            while (dispatch_semaphore_wait(semaphore, DISPATCH_TIME_NOW))
-                [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
         }
     }
     
@@ -780,31 +788,26 @@
 
         @autoreleasepool {
             
-            dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
-            
             [[PHImageManager defaultManager] requestImageDataForAsset:asset options:nil resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
             
                 [imageData writeToFile:fileNamePath options:NSDataWritingAtomic error:&error];
                 
-                dispatch_semaphore_signal(semaphore);
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    
+                    if (error) {
+                    
+                        // Error for uploadFileFailure
+                        if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
+                            [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:@"_read_file_error_" errorCode:error.code];
+                    
+                    } else {
+                    
+                        [self upload:fileName serverUrl:serverUrl cryptated:cryptated template:NO onlyPlist:NO assetFileName:assetFileName assetDate:assetDate assetMediaType:assetMediaType localIdentifier:localIdentifier session:session taskStatus:taskStatus selector:selector selectorPost:selectorPost errorCode:errorCode delegate:delegate];
+                    }
+                });
             }];
-            
-            while (dispatch_semaphore_wait(semaphore, DISPATCH_TIME_NOW))
-                [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
-
         }
     }
-    
-    if (error) {
-        
-        // Error for uploadFileFailure
-        if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-            [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:@"_read_file_error_" errorCode:error.code];
-        
-    } else {
-        
-        [self upload:fileName serverUrl:serverUrl cryptated:cryptated template:NO onlyPlist:NO assetFileName:assetFileName assetDate:assetDate assetMediaType:assetMediaType localIdentifier:localIdentifier session:session taskStatus:taskStatus selector:selector selectorPost:selectorPost errorCode:errorCode delegate:delegate];
-    }
 }
 
 - (void)uploadFile:(NSString *)fileName serverUrl:(NSString *)serverUrl cryptated:(BOOL)cryptated onlyPlist:(BOOL)onlyPlist session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost errorCode:(NSInteger)errorCode delegate:(id)delegate

+ 0 - 1
iOSClient/Networking/OCNetworking.m

@@ -1272,7 +1272,6 @@
         
         [self complete];
     }];
-
 }
 
 #pragma --------------------------------------------------------------------------------------------