Marino Faggiana 7 years ago
parent
commit
f4c2e2a59b
2 changed files with 15 additions and 9 deletions
  1. 4 4
      iOSClient/Database/NCManageDatabase.swift
  2. 11 5
      iOSClient/Photos/CCPhotos.m

+ 4 - 4
iOSClient/Database/NCManageDatabase.swift

@@ -1900,10 +1900,10 @@ class NCManageDatabase: NSObject {
                         
                         let metadatasDBImageVideo = realm.objects(tableMetadata.self).filter(NSPredicate(format: "account = %@ AND NOT (session CONTAINS 'upload') AND (typeFile = %@ OR typeFile = %@)", tableAccount.account, k_metadataTypeFile_image, k_metadataTypeFile_video))
                         
+                        let fileIDArraySearch = metadatas.map({ $0.fileID }) as [String]
+
                         // DELETE RECORD IF NOT PRESENT ON DB [From DB To SEARCH]
-                        let fileIDArrayDB = metadatasDBImageVideo.map({ $0.fileID })
-                        let fileIDArraySearch = metadatas.map({ $0.fileID })
-                            
+                        let fileIDArrayDB = metadatasDBImageVideo.map({ $0.fileID }) as [String]
                         for fileID in fileIDArrayDB {
                             if !(fileIDArraySearch.contains(fileID)) {
                                 let result = realm.objects(tableMetadata.self).filter("account = %@ AND fileID = %@", tableAccount.account, fileID).first
@@ -1916,7 +1916,7 @@ class NCManageDatabase: NSObject {
                         
                         // INSERT NEW RECORD ON DB [From SEARCH To DB]
                         for metadata in metadatas {
-                            if !(fileIDArraySearch.contains(metadata.fileID)) {
+                            if !(fileIDArrayDB.contains(metadata.fileID)) {
                                 realm.add(metadata, update: true)
                                 isUpdate = true
                             }

+ 11 - 5
iOSClient/Photos/CCPhotos.m

@@ -548,13 +548,19 @@
         // Update date
         [[NCManageDatabase sharedInstance] setAccountDateSearchContentTypeImageVideo:[NSDate date]];
         
-        BOOL isUpdate = [[NCManageDatabase sharedInstance] updateTableMetadatasContentTypeImageVideo:metadatas];
+        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
             
-        if (isUpdate)
-            [self reloadDatasource];
+            BOOL isUpdate = [[NCManageDatabase sharedInstance] updateTableMetadatasContentTypeImageVideo:metadatas];
             
-        _isSearchMode = NO;
-        
+            if (isUpdate) {
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    [self reloadDatasource];
+                });
+            }
+            
+            _isSearchMode = NO;
+        });
+    
     } else {
         _isSearchMode = NO;
     }