Эх сурвалжийг харах

Old Feature request - Photos #540

Marino Faggiana 7 жил өмнө
parent
commit
4af0c2d3b1

+ 5 - 10
iOSClient/Database/NCManageDatabase.swift

@@ -1889,7 +1889,7 @@ class NCManageDatabase: NSObject {
         }
     }
     
-    @objc func updateTableMetadatasContentTypeImageVideo(_ metadatas: [tableMetadata]) -> Bool {
+    @objc func updateTableMetadatasContentTypeImageVideo(_ metadatas: [tableMetadata], startDirectory: String, activeUrl: String) -> Bool {
         
         guard let tableAccount = self.getAccountActive() else {
             return false
@@ -1898,8 +1898,8 @@ class NCManageDatabase: NSObject {
         let realm = try! Realm()
         realm.refresh()
         
-        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 fileIDArrayDB = metadatasDBImageVideo.map({ $0.fileID }) as [String]
+        let metadatasDBImageVideo = self.getTableMetadatasContentTypeImageVideo(startDirectory, activeUrl: activeUrl)
+        let fileIDArrayDB = metadatasDBImageVideo!.map({ $0.fileID }) as [String]
         let fileIDArraySearch = metadatas.map({ $0.fileID }) as [String]
         
         // DELETE RECORD IF NOT PRESENT ON DB [From DB To SEARCH]
@@ -1922,15 +1922,10 @@ class NCManageDatabase: NSObject {
         
         do {
             try realm.write {
-                
                 // DELETE
-                for metadata in resultsDelete {
-                    realm.delete(metadata)
-                }
+                realm.delete(resultsDelete)
                 // INSERT
-                for metadata in resultsInsert {
-                    realm.add(metadata, update: true)
-                }
+                realm.add(resultsInsert, update: true)
             }
         } catch let error {
             print("[LOG] Could not write to database: ", error)

+ 1 - 0
iOSClient/Photos/CCPhotos.h

@@ -40,6 +40,7 @@
 @interface CCPhotos: UICollectionViewController <UICollectionViewDataSource, UICollectionViewDelegate, UIActionSheetDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate, OCNetworkingDelegate>
 
 @property (nonatomic, weak) CCDetail *detailViewController;
+@property BOOL isSearchMode;
 
 - (void)downloadFileSuccessFailure:(NSString *)fileName fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector selectorPost:(NSString *)selectorPost errorMessage:(NSString *)errorMessage errorCode:(NSInteger)errorCode;
 

+ 4 - 4
iOSClient/Photos/CCPhotos.m

@@ -42,9 +42,7 @@
     
     CCHud *_hud;
     
-    TOScrollBar *_scrollBar;
-    
-    BOOL _isSearchMode;
+    TOScrollBar *_scrollBar;    
 }
 @end
 
@@ -550,7 +548,9 @@
         
         dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
             
-            BOOL isUpdate = [[NCManageDatabase sharedInstance] updateTableMetadatasContentTypeImageVideo:metadatas];
+            NSString *startDirectory = [CCUtility getStartDirectoryPhotosTab:[CCUtility getHomeServerUrlActiveUrl:appDelegate.activeUrl]];
+
+            BOOL isUpdate = [[NCManageDatabase sharedInstance] updateTableMetadatasContentTypeImageVideo:metadatas startDirectory:startDirectory activeUrl:appDelegate.activeUrl];
             
             if (isUpdate) {
                 dispatch_async(dispatch_get_main_queue(), ^{

+ 3 - 3
iOSClient/Settings/CCAdvanced.m

@@ -543,10 +543,10 @@
 
 - (void)moveServerUrlTo:(NSString *)serverUrlTo title:(NSString *)title
 {
-    [CCUtility setStartDirectoryPhotosTab:serverUrlTo];
-    
     NSString *oldStartDirectoryPhotosTab = [CCUtility getStartDirectoryPhotosTab:[CCUtility getHomeServerUrlActiveUrl:appDelegate.activeUrl]];
-    
+
+    [CCUtility setStartDirectoryPhotosTab:serverUrlTo];
+        
     if (![serverUrlTo isEqualToString:oldStartDirectoryPhotosTab]) {
     
         // Save