Răsfoiți Sursa

Add queue only for UploadCameraAllPhoto

Marino Faggiana 8 ani în urmă
părinte
comite
c80b2ad765

+ 2 - 1
iOSClient/AppDelegate.h

@@ -89,8 +89,9 @@
 @property (nonatomic, strong) NSOperationQueue *netQueueDownloadWWan;
 @property (nonatomic, strong) NSOperationQueue *netQueueUpload;
 @property (nonatomic, strong) NSOperationQueue *netQueueUploadWWan;
+@property (nonatomic, strong) NSOperationQueue *netQueueUploadCameraAllPhoto;
 
-@property NSUInteger queueNunDownload, queueNumDownloadWWan, queueNumUpload, queueNumUploadWWan;
+@property NSUInteger queueNunDownload, queueNumDownloadWWan, queueNumUpload, queueNumUploadWWan, queueNumUploadCameraAllPhoto;
 
 // Networking 
 @property (nonatomic, copy) void (^backgroundSessionCompletionHandler)(void);

+ 30 - 23
iOSClient/AppDelegate.m

@@ -127,6 +127,10 @@
     _netQueueUploadWWan.name = @"it.twsweb.cryptocloud.queueUploadWWan";
     _netQueueUploadWWan.maxConcurrentOperationCount = maxConcurrentOperationDownloadUpload;
     
+    _netQueueUploadCameraAllPhoto = [[NSOperationQueue alloc] init];
+    _netQueueUploadCameraAllPhoto.name = @"it.twsweb.cryptocloud.queueUploadCameraAllPhoto";
+    _netQueueUploadCameraAllPhoto.maxConcurrentOperationCount = 1;
+    
 #ifdef CC
     // Inizialize DBSession for Dropbox
     NSString *appKey = appKeyCryptoCloud;
@@ -682,6 +686,8 @@
     _queueNumUpload = [[CCCoreData getTableMetadataUploadAccount:self.activeAccount] count];
     _queueNumUploadWWan = [[CCCoreData getTableMetadataUploadWWanAccount:self.activeAccount] count];
     
+    _queueNumUploadCameraAllPhoto = 0;
+    
     // Clear list folder in Synchronization
     [self.listFolderSynchronization removeAllObjects];
         
@@ -770,11 +776,28 @@
         
         if ([app.typeCloud isEqualToString:typeCloudDropbox])
             if (((DBnetworking *)operation).isExecuting == NO) _queueNumUploadWWan++;
+#endif
+     }
+
+    // netQueueUploadCameraAllPhoto
+    for (NSOperation *operation in [app.netQueueUploadCameraAllPhoto operations]) {
+        
+        /*** NEXTCLOUD OWNCLOUD ***/
+        
+        if ([app.typeCloud isEqualToString:typeCloudOwnCloud] || [app.typeCloud isEqualToString:typeCloudNextcloud])
+            if (((OCnetworking *)operation).isExecuting == NO) _queueNumUploadCameraAllPhoto++;
+        
+#ifdef CC
+        
+        /*** DROPBOX ***/
+        
+        if ([app.typeCloud isEqualToString:typeCloudDropbox])
+            if (((DBnetworking *)operation).isExecuting == NO) _queueNumUploadCameraAllPhoto++;
 #endif
     }
-    
+
     // Total
-    NSUInteger total = _queueNunDownload + _queueNumDownloadWWan + _queueNumUpload + _queueNumUploadWWan;
+    NSUInteger total = _queueNunDownload + _queueNumDownloadWWan + _queueNumUpload + _queueNumUploadWWan + _queueNumUploadCameraAllPhoto;
     
     [UIApplication sharedApplication].applicationIconBadgeNumber = total;
     
@@ -998,6 +1021,7 @@
     [_netQueueDownloadWWan cancelAllOperations];
     [_netQueueUpload cancelAllOperations];
     [_netQueueUploadWWan cancelAllOperations];
+    [_netQueueUploadCameraAllPhoto cancelAllOperations];
     
     [self performSelector:@selector(updateApplicationIconBadgeNumber) withObject:nil afterDelay:0.5];
 }
@@ -1209,25 +1233,8 @@
 
 - (void)dropCameraUploadAllPhoto
 {
-    // remove queue upload for : selectorUploadCameraAllPhoto
-    for (NSOperation *operation in [self.netQueueUpload operations]) {
-        
-        /*** NEXTCLOUD OWNCLOUD ***/
-        
-        if ([app.typeCloud isEqualToString:typeCloudOwnCloud] || [app.typeCloud isEqualToString:typeCloudNextcloud])
-            if ([((OCnetworking *)operation).metadataNet.selector isEqualToString:selectorUploadCameraAllPhoto])
-                [operation cancel];
-        
-#ifdef CC
-        
-        /*** DROPBOX ***/
-        
-        if ([app.typeCloud isEqualToString:typeCloudDropbox])
-            if ([((DBnetworking *)operation).metadataNet.selector isEqualToString:selectorUploadCameraAllPhoto])
-                [operation cancel];
-#endif
-    }
-
+    [_netQueueUploadCameraAllPhoto cancelAllOperations];
+    
     [CCCoreData deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (session != NULL) AND (session != '') AND ((sessionSelector == %@))", self.activeAccount, selectorUploadCameraAllPhoto]];
     
     [CCCoreData setCameraUploadFullPhotosActiveAccount:NO activeAccount:app.activeAccount];
@@ -1345,8 +1352,8 @@
 - (void)upgrade
 {
 #ifdef DEBUG
-    [CCCoreData flushTableGPS];
-    [CCCoreData setGeoInformationLocalNull];
+   // [CCCoreData flushTableGPS];
+   // [CCCoreData setGeoInformationLocalNull];
 #endif
     
     NSString *actualVersion = [CCUtility getVersionCryptoCloud];

+ 1 - 1
iOSClient/Main/CCMain.m

@@ -3184,7 +3184,7 @@
     if (app.reSelectMenu.isOpen || app.reMainMenu.isOpen)
         return;
     
-    if ([app.netQueue operationCount] > 0 || [app.netQueueDownload operationCount] > 0 || [app.netQueueDownloadWWan operationCount] > 0 || [app.netQueueUpload operationCount] > 0 || [app.netQueueUploadWWan operationCount] > 0)
+    if ([app.netQueue operationCount] > 0 || [app.netQueueDownload operationCount] > 0 || [app.netQueueDownloadWWan operationCount] > 0 || [app.netQueueUpload operationCount] > 0 || [app.netQueueUploadWWan operationCount] > 0 || [app.netQueueUploadCameraAllPhoto operationCount] > 0)
         return;
     
     NSArray *listTableAccount = [CCCoreData getAllTableAccount];

+ 3 - 1
iOSClient/PhotosCameraUpload/CCPhotosCameraUpload.m

@@ -1261,7 +1261,9 @@
         metadataNet.taskStatus = taskStatusResume;
         
         // Select type of queue
-        if ([session containsString:@"wwan"])
+        if (assetsFull)
+            queue = app.netQueueUploadCameraAllPhoto;
+        else if ([session containsString:@"wwan"])
             queue = app.netQueueUploadWWan;
         else
             queue = app.netQueueUpload;