浏览代码

improvements

Marino Faggiana 7 年之前
父节点
当前提交
98c4dc9880
共有 3 个文件被更改,包括 41 次插入23 次删除
  1. 6 3
      iOSClient/Database/NCManageDatabase.swift
  2. 20 15
      iOSClient/Main/CCMain.m
  3. 15 5
      iOSClient/Networking/CCNetworking.m

+ 6 - 3
iOSClient/Database/NCManageDatabase.swift

@@ -1787,10 +1787,10 @@ class NCManageDatabase: NSObject {
         return result.priority
     }
 
-    func setPriorityQueueUpload(assetLocalIdentifier: String, priority: NSInteger) {
+    func setPriorityQueueUpload(assetLocalIdentifier: String, priority: NSInteger) -> Bool {
         
         guard let tableAccount = self.getAccountActive() else {
-            return
+            return false
         }
         
         let realm = try! Realm()
@@ -1799,7 +1799,7 @@ class NCManageDatabase: NSObject {
         
         guard let result = realm.objects(tableQueueUpload.self).filter("account = %@ AND assetLocalIdentifier = %@", tableAccount.account, assetLocalIdentifier).first else {
             realm.cancelWrite()
-            return
+            return false
         }
         
         // priority
@@ -1813,7 +1813,10 @@ class NCManageDatabase: NSObject {
             try realm.commitWrite()
         } catch let error {
             print("[LOG] Could not write to database: ", error)
+            return false
         }
+        
+        return true
     }
     
     func deleteQueueUpload(assetLocalIdentifier: String, selector: String) {

+ 20 - 15
iOSClient/Main/CCMain.m

@@ -1609,11 +1609,14 @@
                 
         if ([[NCManageDatabase sharedInstance] getPriorityQueueUploadWithAssetLocalIdentifier:metadataNet.assetLocalIdentifier] > k_priorityAutoUploadStop) {
         
-            // Activity
-            [[NCManageDatabase sharedInstance] addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:message type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:app.activeUrl];
-            
             // Change priority Auto Upload
-            [[NCManageDatabase sharedInstance] setPriorityQueueUploadWithAssetLocalIdentifier:metadataNet.assetLocalIdentifier priority:k_priorityAutoUploadError];
+            if ([[NCManageDatabase sharedInstance] setPriorityQueueUploadWithAssetLocalIdentifier:metadataNet.assetLocalIdentifier priority:k_priorityAutoUploadError]) {
+            
+                // Activity
+                [[NCManageDatabase sharedInstance] addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:message type:k_activityTypeFailure verbose:k_activityVerboseDefault  activeUrl:app.activeUrl];
+            }
+            
+            [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
             
         } else {
             
@@ -1626,22 +1629,24 @@
             
             [app messageNotification:@"_upload_file_" description:@"Too many error, delete file, see Activity for more info" visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
         }
-    }
+        
+    } else {
     
-    // Read File test do not exists
-    if (errorCode == k_CCErrorFileUploadNotFound && fileID) {
+        // Read File test do not exists
+        if (errorCode == k_CCErrorFileUploadNotFound && fileID) {
        
-        tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", fileID]];
+            tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", fileID]];
         
-        // reUpload
-        if (metadata)
-            [[CCNetworking sharedNetworking] uploadFileMetadata:metadata taskStatus:k_taskStatusResume];
-    }
+            // reUpload
+            if (metadata)
+                [[CCNetworking sharedNetworking] uploadFileMetadata:metadata taskStatus:k_taskStatusResume];
+        }
     
-    // Print error
-    else if (errorCode != kCFURLErrorCancelled && errorCode != 403) {
+        // Print error
+        else if (errorCode != kCFURLErrorCancelled && errorCode != 403) {
         
-        [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+            [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+        }
     }
     
     [self reloadDatasource:serverUrl];

+ 15 - 5
iOSClient/Networking/CCNetworking.m

@@ -846,6 +846,16 @@
     if (delegate == nil)
         delegate = self.delegate;
     
+    // for fatal error
+    CCMetadataNet *metadataNet = [CCMetadataNet new];
+    metadataNet.assetLocalIdentifier = assetLocalIdentifier;
+    metadataNet.cryptated = cryptated;
+    metadataNet.fileName = fileName;
+    metadataNet.selector = selector;
+    metadataNet.selectorPost = selectorPost;
+    metadataNet.serverUrl = serverUrl;
+    metadataNet.session = session;
+    
     PHFetchResult *result = [PHAsset fetchAssetsWithLocalIdentifiers:@[assetLocalIdentifier] options:nil];
     
     if (!result.count) {
@@ -854,10 +864,10 @@
         if ([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll])
             [[NCManageDatabase sharedInstance] deleteQueueUploadWithAssetLocalIdentifier:assetLocalIdentifier selector:selector];
 
-        [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:@"Internal error asset not found, remove from Upload" type:k_activityTypeFailure verbose:k_activityVerboseHigh activeUrl:_activeUrl];
+        [[NCManageDatabase sharedInstance] addActivityClient:fileName fileID:assetLocalIdentifier action:k_activityDebugActionUpload selector:selector note:@"Error photo/video not found, remove from upload" type:k_activityTypeFailure verbose:k_activityVerboseHigh activeUrl:_activeUrl];
         
         if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-            [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:@"Internal error image/video not found" errorCode: k_CCErrorInternalError];
+            [delegate uploadFileFailure:metadataNet fileID:nil serverUrl:serverUrl selector:selector message:@"Error photo/video not found, remove from upload" errorCode: k_CCErrorInternalError];
         
         return;
     }
@@ -882,7 +892,7 @@
                 
                 dispatch_async(dispatch_get_main_queue(), ^{
                     if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-                    [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Image request failed [%@]", error.description] errorCode:error.code];
+                    [delegate uploadFileFailure:metadataNet fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Image request failed [%@]", error.description] errorCode:error.code];
                 });
                 
             } else {
@@ -928,7 +938,7 @@
                         
                         dispatch_async(dispatch_get_main_queue(), ^{
                             if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-                                [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Video export failed [%@]", exportSession.error.description] errorCode:exportSession.error.code];
+                                [delegate uploadFileFailure:metadataNet fileID:nil serverUrl:serverUrl selector:selector message:[NSString stringWithFormat:@"Video export failed [%@]", exportSession.error.description] errorCode:exportSession.error.code];
                         });
                     }
                 }];
@@ -937,7 +947,7 @@
                 
                 dispatch_async(dispatch_get_main_queue(), ^{
                     if ([delegate respondsToSelector:@selector(uploadFileFailure:fileID:serverUrl:selector:message:errorCode:)])
-                    [delegate uploadFileFailure:nil fileID:nil serverUrl:serverUrl selector:selector message:@"Create Video session failed [Internal error]" errorCode:k_CCErrorInternalError];
+                    [delegate uploadFileFailure:metadataNet fileID:nil serverUrl:serverUrl selector:selector message:@"Create Video session failed [Internal error]" errorCode:k_CCErrorInternalError];
                 });
             }
         }];