Browse Source

improvements

Marino Faggiana 7 years ago
parent
commit
8657860879
2 changed files with 20 additions and 13 deletions
  1. 14 11
      iOSClient/AutoUpload/NCAutoUpload.m
  2. 6 2
      iOSClient/Database/NCManageDatabase.swift

+ 14 - 11
iOSClient/AutoUpload/NCAutoUpload.m

@@ -433,14 +433,14 @@
             [self addQueueUploadAndPhotoLibrary:metadataNet asset:asset];
     }
     
-        // Insert all assets (Full) in tableQueueUpload
-        if (assetsFull && [metadataNetFull count] > 0) {
+    // Insert all assets (Full) in tableQueueUpload
+    if (assetsFull && [metadataNetFull count] > 0) {
     
-            [[NCManageDatabase sharedInstance] addQueueUploadWithMetadatasNet:metadataNetFull];
+        [[NCManageDatabase sharedInstance] addQueueUploadWithMetadatasNet:metadataNetFull];
         
-            // Update icon badge number
-            [app updateApplicationIconBadgeNumber];
-        }
+        // Update icon badge number
+        [app updateApplicationIconBadgeNumber];
+    }
     
     // end loading
     [_hud hideHud];
@@ -456,12 +456,15 @@
         
         } else {
     
-            [[NCManageDatabase sharedInstance] addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionAutoUpload selector:metadataNet.selector note:@"Add Auto Upload, asset already present" type:k_activityTypeInfo verbose:k_activityVerboseHigh activeUrl:app.activeUrl];
+            [[NCManageDatabase sharedInstance] addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionAutoUpload selector:metadataNet.selector note:@"Add Auto Upload, asset already present or db in write transaction" type:k_activityTypeInfo verbose:k_activityVerboseHigh activeUrl:app.activeUrl];
         }
     
         // Add asset in table Photo Library
-        if ([metadataNet.selector isEqualToString:selectorUploadAutoUpload])
-            [[NCManageDatabase sharedInstance] addPhotoLibrary:@[asset]];
+        if ([metadataNet.selector isEqualToString:selectorUploadAutoUpload]) {
+            if (![[NCManageDatabase sharedInstance] addPhotoLibrary:@[asset]]) {
+                [[NCManageDatabase sharedInstance] addActivityClient:metadataNet.fileName fileID:metadataNet.assetLocalIdentifier action:k_activityDebugActionAutoUpload selector:metadataNet.selector note:@"Add Photo Library, db in write transaction" type:k_activityTypeInfo verbose:k_activityVerboseHigh activeUrl:app.activeUrl];
+            }
+        }
         
         dispatch_async(dispatch_get_main_queue(), ^{
             // Update icon badge number
@@ -702,8 +705,8 @@
         tableAccount *account = [[NCManageDatabase sharedInstance] getAccountActive];
 
         PHFetchResult *assets = [self getCameraRollAssets:account assetsFull:YES alignPhotoLibrary:YES];
-        [[NCManageDatabase sharedInstance] addPhotoLibrary:(NSArray *)assets];
-            
+        (void)[[NCManageDatabase sharedInstance] addPhotoLibrary:(NSArray *)assets];
+
         NSLog(@"Align Photo Library %lu", (unsigned long)[assets count]);
     });
 }

+ 6 - 2
iOSClient/Database/NCManageDatabase.swift

@@ -1510,10 +1510,10 @@ class NCManageDatabase: NSObject {
     //MARK: -
     //MARK: Table Photo Library
     
-    func addPhotoLibrary(_ assets: [PHAsset]) {
+    func addPhotoLibrary(_ assets: [PHAsset]) -> Bool {
         
         guard let tableAccount = self.getAccountActive() else {
-            return
+            return false
         }
 
         let realm = try! Realm()
@@ -1521,6 +1521,7 @@ class NCManageDatabase: NSObject {
         if realm.isInWriteTransaction {
             
             print("[LOG] Could not write to database, addPhotoLibrary is already in write transaction")
+            return false
             
         } else {
         
@@ -1559,8 +1560,11 @@ class NCManageDatabase: NSObject {
                 }
             } catch let error {
                 print("Could not write to database: ", error)
+                return false
             }
         }
+        
+        return true
     }
     
     func getPhotoLibraryIdAsset(image: Bool, video: Bool) -> [String]? {