marinofaggiana 4 жил өмнө
parent
commit
93e56f3afe

+ 0 - 203
iOSClient/AppDelegate.m

@@ -1018,209 +1018,6 @@
     });
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== Process Load Upload < k_timerProcess seconds > =====
-#pragma --------------------------------------------------------------------------------------------
-
-- (void)loadAutoUpload
-{
-    if (self.activeAccount.length == 0 || self.maintenanceMode)
-        return;
-    
-    tableMetadata *metadataForUpload;
-    long counterUpload = 0;
-    NSUInteger sizeUpload = 0;
-    NSPredicate *predicate;
-    
-    long maxConcurrentOperationUpload = k_maxConcurrentOperation;
-    
-    NSArray *metadatasUpload = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"status == %d OR status == %d", k_metadataStatusInUpload, k_metadataStatusUploading] sorted:nil ascending:true];
-    
-    for(tableMetadata *metadata in metadatasUpload) {
-        if ([CCUtility isFolderEncrypted:metadata.serverUrl e2eEncrypted:metadata.e2eEncrypted account:metadata.account]) return;
-    }
-    
-    // Counter
-    counterUpload = [metadatasUpload count];
-    
-    // Size
-    for (tableMetadata *metadata in metadatasUpload) {
-        sizeUpload = sizeUpload + metadata.size;
-    }
-    
-    NSLog(@"%@", [NSString stringWithFormat:@"[LOG] PROCESS-AUTO-UPLOAD %ld - %@", counterUpload, [CCUtility transformedSize:sizeUpload]]);
-    
-        
-    // ------------------------- <selector Upload> -------------------------
-    
-    while (counterUpload < maxConcurrentOperationUpload) {
-        
-        if (sizeUpload > k_maxSizeOperationUpload) {
-            break;
-        }
-        
-        if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
-            predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadFile, k_metadataStatusWaitUpload, k_metadataTypeFile_video];
-        } else {
-            predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d", selectorUploadFile, k_metadataStatusWaitUpload];
-        }
-                
-        metadataForUpload = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:predicate sorted:@"date" ascending:YES];
-        
-        if (metadataForUpload) {
-                            
-            if ([CCUtility isFolderEncrypted:metadataForUpload.serverUrl e2eEncrypted:metadataForUpload.e2eEncrypted account:metadataForUpload.account]) {
-                
-                if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { break; }
-                maxConcurrentOperationUpload = 1;
-                    
-                metadataForUpload.status = k_metadataStatusInUpload;
-                tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
-                    
-                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
-                    
-                break;
-                                        
-            } else {
-                    
-                metadataForUpload.status = k_metadataStatusInUpload;
-                tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
-                    
-                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
-                    
-                counterUpload++;
-                sizeUpload = sizeUpload + metadata.size;
-            }
-                
-        } else {
-            break;
-        }
-    }
-    
-    // ------------------------- <selector Auto Upload> -------------------------
-    
-    while (counterUpload < maxConcurrentOperationUpload) {
-        
-        if (sizeUpload > k_maxSizeOperationUpload) {
-            break;
-        }
-        
-        if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
-            predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadAutoUpload, k_metadataStatusWaitUpload, k_metadataTypeFile_video];
-        } else {
-            predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d", selectorUploadAutoUpload, k_metadataStatusWaitUpload];
-        }
-        
-        metadataForUpload = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:predicate sorted:@"date" ascending:YES];
-        if (metadataForUpload) {
-            
-            if ([CCUtility isFolderEncrypted:metadataForUpload.serverUrl e2eEncrypted:metadataForUpload.e2eEncrypted account:metadataForUpload.account]) {
-                
-                if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { break; }
-                maxConcurrentOperationUpload = 1;
-                
-                metadataForUpload.status = k_metadataStatusInUpload;
-                tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
-                                          
-                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
-                                
-                break;
-                
-            } else {
-                
-                metadataForUpload.status = k_metadataStatusInUpload;
-                tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
-                           
-                [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
-                           
-                counterUpload++;
-                sizeUpload = sizeUpload + metadata.size;
-            }
-           
-        } else {
-            break;
-        }
-    }
-    
-    // ------------------------- <selector Auto Upload All> ----------------------
-    
-    // Verify num error k_maxErrorAutoUploadAll after STOP (100)
-    NSArray *metadatas = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %i", selectorUploadAutoUploadAll, k_metadataStatusUploadError] sorted:@"date" ascending:YES];
-    NSInteger errorCount = [metadatas count];
-    
-    if (errorCount >= k_maxErrorAutoUploadAll) {
-        
-        [[NCContentPresenter shared] messageNotification:@"_error_" description:@"_too_errors_automatic_all_" delay:k_dismissAfterSecond type:messageTypeError errorCode:k_CCErrorInternalError];
-        
-    } else {
-        
-        while (counterUpload < maxConcurrentOperationUpload) {
-            
-            if (sizeUpload > k_maxSizeOperationUpload) {
-                break;
-            }
-            
-            if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
-                predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadAutoUploadAll, k_metadataStatusWaitUpload, k_metadataTypeFile_video];
-            } else {
-                predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d", selectorUploadAutoUploadAll, k_metadataStatusWaitUpload];
-            }
-            
-            metadataForUpload = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:predicate sorted:@"session" ascending:YES];
-            if (metadataForUpload) {
-                
-                if ([CCUtility isFolderEncrypted:metadataForUpload.serverUrl e2eEncrypted:metadataForUpload.e2eEncrypted account:metadataForUpload.account]) {
-                
-                    if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { break; }
-                    maxConcurrentOperationUpload = 1;
-                    
-                    metadataForUpload.status = k_metadataStatusInUpload;
-                    tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
-                    
-                    [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
-                    
-                    break;
-                    
-                } else {
-                    
-                    metadataForUpload.status = k_metadataStatusInUpload;
-                    tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
-                    
-                    [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
-                    
-                    counterUpload++;
-                    sizeUpload = sizeUpload + metadata.size;
-                    
-                }
-                
-            } else {
-                break;
-            }
-        }
-    }
-    
-    // No upload available ? --> Retry Upload in Error
-    if (counterUpload == 0) {
-        
-        NSArray *metadatas = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"status == %d", k_metadataStatusUploadError] sorted:nil ascending:NO];
-        for (tableMetadata *metadata in metadatas) {
-            
-            metadata.session = NCCommunicationCommon.shared.sessionIdentifierBackground;
-            metadata.sessionError = @"";
-            metadata.sessionTaskIdentifier = 0;
-            metadata.status = k_metadataStatusInUpload;
-            
-            [[NCManageDatabase sharedInstance] addMetadata:metadata];
-        }
-    }
-    
-    // verify delete Asset Local Identifiers in auto upload (Photos album)
-    if (counterUpload == 0 && self.passcodeViewController == nil) {
-        
-        [[NCUtility sharedInstance] deleteAssetLocalIdentifiersWithAccount:self.activeAccount sessionSelector:selectorUploadAutoUpload];
-    }
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== OpenURL  =====
 #pragma --------------------------------------------------------------------------------------------

+ 1 - 1
iOSClient/CCGlobal.h

@@ -143,7 +143,7 @@
 #define k_metadataStatusUploadForcedStart               10
 
 // Timer
-#define k_timerProcessAutoUpload                        5
+#define k_timerAutoUpload                               5
 #define k_timerUpdateApplicationIconBadgeNumber         5
 #define k_timerErrorNetworking                          3
 

+ 203 - 1
iOSClient/Networking/NCNetworking.swift

@@ -506,10 +506,212 @@ import Alamofire
             }
         }
             
-        DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
+        DispatchQueue.main.asyncAfter(deadline: .now() + TimeInterval(k_timerAutoUpload)) {
             self.loadAutoUpload()
         }
     }
+    
+    /*
+     - (void)loadAutoUpload
+     {
+         if (self.activeAccount.length == 0 || self.maintenanceMode)
+             return;
+         
+         tableMetadata *metadataForUpload;
+         long counterUpload = 0;
+         NSUInteger sizeUpload = 0;
+         NSPredicate *predicate;
+         
+         long maxConcurrentOperationUpload = k_maxConcurrentOperation;
+         
+         NSArray *metadatasUpload = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"status == %d OR status == %d", k_metadataStatusInUpload, k_metadataStatusUploading] sorted:nil ascending:true];
+         
+         for(tableMetadata *metadata in metadatasUpload) {
+             if ([CCUtility isFolderEncrypted:metadata.serverUrl e2eEncrypted:metadata.e2eEncrypted account:metadata.account]) return;
+         }
+         
+         // Counter
+         counterUpload = [metadatasUpload count];
+         
+         // Size
+         for (tableMetadata *metadata in metadatasUpload) {
+             sizeUpload = sizeUpload + metadata.size;
+         }
+         
+         NSLog(@"%@", [NSString stringWithFormat:@"[LOG] PROCESS-AUTO-UPLOAD %ld - %@", counterUpload, [CCUtility transformedSize:sizeUpload]]);
+         
+             
+         // ------------------------- <selector Upload> -------------------------
+         
+         while (counterUpload < maxConcurrentOperationUpload) {
+             
+             if (sizeUpload > k_maxSizeOperationUpload) {
+                 break;
+             }
+             
+             if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
+                 predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadFile, k_metadataStatusWaitUpload, k_metadataTypeFile_video];
+             } else {
+                 predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d", selectorUploadFile, k_metadataStatusWaitUpload];
+             }
+                     
+             metadataForUpload = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:predicate sorted:@"date" ascending:YES];
+             
+             if (metadataForUpload) {
+                                 
+                 if ([CCUtility isFolderEncrypted:metadataForUpload.serverUrl e2eEncrypted:metadataForUpload.e2eEncrypted account:metadataForUpload.account]) {
+                     
+                     if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { break; }
+                     maxConcurrentOperationUpload = 1;
+                         
+                     metadataForUpload.status = k_metadataStatusInUpload;
+                     tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
+                         
+                     [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                         
+                     break;
+                                             
+                 } else {
+                         
+                     metadataForUpload.status = k_metadataStatusInUpload;
+                     tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
+                         
+                     [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                         
+                     counterUpload++;
+                     sizeUpload = sizeUpload + metadata.size;
+                 }
+                     
+             } else {
+                 break;
+             }
+         }
+         
+         // ------------------------- <selector Auto Upload> -------------------------
+         
+         while (counterUpload < maxConcurrentOperationUpload) {
+             
+             if (sizeUpload > k_maxSizeOperationUpload) {
+                 break;
+             }
+             
+             if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
+                 predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadAutoUpload, k_metadataStatusWaitUpload, k_metadataTypeFile_video];
+             } else {
+                 predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d", selectorUploadAutoUpload, k_metadataStatusWaitUpload];
+             }
+             
+             metadataForUpload = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:predicate sorted:@"date" ascending:YES];
+             if (metadataForUpload) {
+                 
+                 if ([CCUtility isFolderEncrypted:metadataForUpload.serverUrl e2eEncrypted:metadataForUpload.e2eEncrypted account:metadataForUpload.account]) {
+                     
+                     if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { break; }
+                     maxConcurrentOperationUpload = 1;
+                     
+                     metadataForUpload.status = k_metadataStatusInUpload;
+                     tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
+                                               
+                     [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                                     
+                     break;
+                     
+                 } else {
+                     
+                     metadataForUpload.status = k_metadataStatusInUpload;
+                     tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
+                                
+                     [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                                
+                     counterUpload++;
+                     sizeUpload = sizeUpload + metadata.size;
+                 }
+                
+             } else {
+                 break;
+             }
+         }
+         
+         // ------------------------- <selector Auto Upload All> ----------------------
+         
+         // Verify num error k_maxErrorAutoUploadAll after STOP (100)
+         NSArray *metadatas = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %i", selectorUploadAutoUploadAll, k_metadataStatusUploadError] sorted:@"date" ascending:YES];
+         NSInteger errorCount = [metadatas count];
+         
+         if (errorCount >= k_maxErrorAutoUploadAll) {
+             
+             [[NCContentPresenter shared] messageNotification:@"_error_" description:@"_too_errors_automatic_all_" delay:k_dismissAfterSecond type:messageTypeError errorCode:k_CCErrorInternalError];
+             
+         } else {
+             
+             while (counterUpload < maxConcurrentOperationUpload) {
+                 
+                 if (sizeUpload > k_maxSizeOperationUpload) {
+                     break;
+                 }
+                 
+                 if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) {
+                     predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d AND typeFile != %@", selectorUploadAutoUploadAll, k_metadataStatusWaitUpload, k_metadataTypeFile_video];
+                 } else {
+                     predicate = [NSPredicate predicateWithFormat:@"sessionSelector == %@ AND status == %d", selectorUploadAutoUploadAll, k_metadataStatusWaitUpload];
+                 }
+                 
+                 metadataForUpload = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:predicate sorted:@"session" ascending:YES];
+                 if (metadataForUpload) {
+                     
+                     if ([CCUtility isFolderEncrypted:metadataForUpload.serverUrl e2eEncrypted:metadataForUpload.e2eEncrypted account:metadataForUpload.account]) {
+                     
+                         if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) { break; }
+                         maxConcurrentOperationUpload = 1;
+                         
+                         metadataForUpload.status = k_metadataStatusInUpload;
+                         tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
+                         
+                         [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                         
+                         break;
+                         
+                     } else {
+                         
+                         metadataForUpload.status = k_metadataStatusInUpload;
+                         tableMetadata *metadata = [[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
+                         
+                         [[NCNetworking shared] uploadWithMetadata:metadata background:true completion:^(NSInteger errorCode, NSString *errorDescription) { }];
+                         
+                         counterUpload++;
+                         sizeUpload = sizeUpload + metadata.size;
+                         
+                     }
+                     
+                 } else {
+                     break;
+                 }
+             }
+         }
+         
+         // No upload available ? --> Retry Upload in Error
+         if (counterUpload == 0) {
+             
+             NSArray *metadatas = [[NCManageDatabase sharedInstance] getMetadatasWithPredicate:[NSPredicate predicateWithFormat:@"status == %d", k_metadataStatusUploadError] sorted:nil ascending:NO];
+             for (tableMetadata *metadata in metadatas) {
+                 
+                 metadata.session = NCCommunicationCommon.shared.sessionIdentifierBackground;
+                 metadata.sessionError = @"";
+                 metadata.sessionTaskIdentifier = 0;
+                 metadata.status = k_metadataStatusInUpload;
+                 
+                 [[NCManageDatabase sharedInstance] addMetadata:metadata];
+             }
+         }
+         
+         // verify delete Asset Local Identifiers in auto upload (Photos album)
+         if (counterUpload == 0 && self.passcodeViewController == nil) {
+             
+             [[NCUtility sharedInstance] deleteAssetLocalIdentifiersWithAccount:self.activeAccount sessionSelector:selectorUploadAutoUpload];
+         }
+     }
+
+     */
 
     //MARK: - Download / Upload