Marino Faggiana 6 years ago
parent
commit
9341c1a67b
2 changed files with 10 additions and 18 deletions
  1. 3 3
      iOSClient/AutoUpload/NCAutoUpload.m
  2. 7 15
      iOSClient/Database/NCManageDatabase.swift

+ 3 - 3
iOSClient/AutoUpload/NCAutoUpload.m

@@ -468,7 +468,7 @@
     
         // Add asset in table Photo Library
         if ([metadata.sessionSelector isEqualToString:selectorUploadAutoUpload]) {
-            if (![[NCManageDatabase sharedInstance] addPhotoLibrary:@[asset]]) {
+            if (![[NCManageDatabase sharedInstance] addPhotoLibrary:@[asset] account:appDelegate.activeAccount]) {
                 [[NCManageDatabase sharedInstance] addActivityClient:metadata.fileNameView fileID:metadata.assetLocalIdentifier action:k_activityDebugActionAutoUpload selector:metadata.sessionSelector note:@"Add Photo Library, db in write transaction" type:k_activityTypeInfo verbose:k_activityVerboseHigh activeUrl:appDelegate.activeUrl];
             }
         }
@@ -589,7 +589,7 @@
                 NSString *creationDate;
                 NSString *idAsset;
 
-                NSArray *idsAsset = [[NCManageDatabase sharedInstance] getPhotoLibraryIdAssetWithImage:account.autoUploadImage video:account.autoUploadVideo];
+                NSArray *idsAsset = [[NCManageDatabase sharedInstance] getPhotoLibraryIdAssetWithImage:account.autoUploadImage video:account.autoUploadVideo account:account.account];
                 
                 for (PHAsset *asset in assets) {
                     
@@ -625,7 +625,7 @@
    
     [[NCManageDatabase sharedInstance] clearTable:[tablePhotoLibrary class] account:appDelegate.activeAccount];
     if (assets != nil) {
-        (void)[[NCManageDatabase sharedInstance] addPhotoLibrary:(NSArray *)assets];
+        (void)[[NCManageDatabase sharedInstance] addPhotoLibrary:(NSArray *)assets account:account.account];
 
         NSLog(@"[LOG] Align Photo Library %lu", (unsigned long)[assets count]);
     }

+ 7 - 15
iOSClient/Database/NCManageDatabase.swift

@@ -2062,12 +2062,8 @@ class NCManageDatabase: NSObject {
     //MARK: -
     //MARK: Table Photo Library
     
-    @objc func addPhotoLibrary(_ assets: [PHAsset]) -> Bool {
+    @objc func addPhotoLibrary(_ assets: [PHAsset], account: String) -> Bool {
         
-        guard let tableAccount = self.getAccountActive() else {
-            return false
-        }
-
         let realm = try! Realm()
 
         if realm.isInWriteTransaction {
@@ -2086,7 +2082,7 @@ class NCManageDatabase: NSObject {
                     
                         let addObject = tablePhotoLibrary()
                     
-                        addObject.account = tableAccount.account
+                        addObject.account = account
                         addObject.assetLocalIdentifier = asset.localIdentifier
                         addObject.mediaType = asset.mediaType.rawValue
                     
@@ -2101,7 +2097,7 @@ class NCManageDatabase: NSObject {
                             addObject.modificationDate = modificationDate as NSDate
                         }
                         
-                        addObject.idAsset = "\(tableAccount.account)\(asset.localIdentifier)\(creationDateString)"
+                        addObject.idAsset = "\(account)\(asset.localIdentifier)\(creationDateString)"
 
                         realm.add(addObject, update: true)
                     }
@@ -2115,11 +2111,7 @@ class NCManageDatabase: NSObject {
         return true
     }
     
-    @objc func getPhotoLibraryIdAsset(image: Bool, video: Bool) -> [String]? {
-        
-        guard let tableAccount = self.getAccountActive() else {
-            return nil
-        }
+    @objc func getPhotoLibraryIdAsset(image: Bool, video: Bool, account: String) -> [String]? {
         
         let realm = try! Realm()
         realm.refresh()
@@ -2128,15 +2120,15 @@ class NCManageDatabase: NSObject {
         
         if (image && video) {
          
-            predicate = NSPredicate(format: "account == %@ AND (mediaType == %i OR mediaType == %i)", tableAccount.account, PHAssetMediaType.image.rawValue, PHAssetMediaType.video.rawValue)
+            predicate = NSPredicate(format: "account == %@ AND (mediaType == %i OR mediaType == %i)", account, PHAssetMediaType.image.rawValue, PHAssetMediaType.video.rawValue)
             
         } else if (image) {
             
-            predicate = NSPredicate(format: "account == %@ AND mediaType == %i", tableAccount.account, PHAssetMediaType.image.rawValue)
+            predicate = NSPredicate(format: "account == %@ AND mediaType == %i", account, PHAssetMediaType.image.rawValue)
 
         } else if (video) {
             
-            predicate = NSPredicate(format: "account == %@ AND mediaType == %i", tableAccount.account, PHAssetMediaType.video.rawValue)
+            predicate = NSPredicate(format: "account == %@ AND mediaType == %i", account, PHAssetMediaType.video.rawValue)
         }
         
         let results = realm.objects(tablePhotoLibrary.self).filter(predicate)