Marino Faggiana 6 years ago
parent
commit
41c0f4cb10

+ 1 - 1
File Provider Extension/FileProviderData.swift

@@ -164,7 +164,7 @@ class FileProviderData: NSObject {
         
         var updateWorkingSet = false
         let oldListFavoriteIdentifierRank = listFavoriteIdentifierRank
-        listFavoriteIdentifierRank = NCManageDatabase.sharedInstance.getTableMetadatasDirectoryFavoriteIdentifierRank()
+        listFavoriteIdentifierRank = NCManageDatabase.sharedInstance.getTableMetadatasDirectoryFavoriteIdentifierRank(account: account)
         
         // (ADD)
         for (identifier, _) in listFavoriteIdentifierRank {

+ 1 - 1
File Provider Extension/FileProviderEnumerator.swift

@@ -78,7 +78,7 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
             }
             
             // ***** Favorite *****
-            providerData.listFavoriteIdentifierRank = NCManageDatabase.sharedInstance.getTableMetadatasDirectoryFavoriteIdentifierRank()
+            providerData.listFavoriteIdentifierRank = NCManageDatabase.sharedInstance.getTableMetadatasDirectoryFavoriteIdentifierRank(account: providerData.account)
             for (identifier, _) in providerData.listFavoriteIdentifierRank {
              
                 guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "fileID == %@", identifier)) else {

+ 5 - 1
iOSClient/AppDelegate.m

@@ -1514,6 +1514,7 @@
         // Build < 16
         if (([actualBuild compare:@"16" options:NSNumericSearch] == NSOrderedAscending) || actualBuild == nil) {
             
+            /*
             NSString *oldDirectoryID;
             NSString *serverUrl;
             
@@ -1530,8 +1531,11 @@
                     [[NCManageDatabase sharedInstance] addMetadataServerUrlWithFileID:metadata.fileID serverUrl:serverUrl];
                 }
             }
-
+            */
+            
+            [[NCManageDatabase sharedInstance] clearTable:[tableMetadata class] account:nil];
             [[NCManageDatabase sharedInstance] clearTable:[tablePhotos class] account:nil];
+            [[NCManageDatabase sharedInstance] setClearAllDateReadDirectory];
         }
     }
     

+ 8 - 52
iOSClient/Database/NCManageDatabase.swift

@@ -1569,10 +1569,6 @@ class NCManageDatabase: NSObject {
     
     @objc func addMetadata(_ metadata: tableMetadata) -> tableMetadata? {
             
-        guard self.getAccountActive() != nil else {
-            return nil
-        }
-        
         if metadata.isInvalidated {
             return nil
         }
@@ -1602,10 +1598,6 @@ class NCManageDatabase: NSObject {
     
     @objc func addMetadatas(_ metadatas: [tableMetadata]) -> [tableMetadata]? {
         
-        guard self.getAccountActive() != nil else {
-            return nil
-        }
-        
         var directoryToClearDate = [String:String]()
 
         let realm = try! Realm()
@@ -1631,10 +1623,6 @@ class NCManageDatabase: NSObject {
 
     @objc func deleteMetadata(predicate: NSPredicate) {
         
-        guard self.getAccountActive() != nil else {
-            return
-        }
-        
         var directoryToClearDate = [String:String]()
         
         let realm = try! Realm()
@@ -1751,10 +1739,6 @@ class NCManageDatabase: NSObject {
     
     @objc func setMetadataSession(_ session: String?, sessionError: String?, sessionSelector: String?, sessionTaskIdentifier: Int, status: Int, predicate: NSPredicate) {
         
-        guard self.getAccountActive() != nil else {
-            return
-        }
-        
         let realm = try! Realm()
 
         realm.beginWrite()
@@ -1847,10 +1831,6 @@ class NCManageDatabase: NSObject {
     
     @objc func getMetadata(predicate: NSPredicate) -> tableMetadata? {
         
-        guard self.getAccountActive() != nil else {
-            return nil
-        }
-        
         let realm = try! Realm()
         realm.refresh()
         
@@ -1863,10 +1843,6 @@ class NCManageDatabase: NSObject {
     
     @objc func getMetadatas(predicate: NSPredicate, sorted: String?, ascending: Bool) -> [tableMetadata]? {
         
-        guard self.getAccountActive() != nil else {
-            return nil
-        }
-        
         let realm = try! Realm()
         realm.refresh()
         
@@ -1894,10 +1870,6 @@ class NCManageDatabase: NSObject {
     
     @objc func getMetadataAtIndex(predicate: NSPredicate, sorted: String, ascending: Bool, index: Int) -> tableMetadata? {
         
-        guard self.getAccountActive() != nil else {
-            return nil
-        }
-        
         let realm = try! Realm()
         realm.refresh()
         
@@ -1922,20 +1894,16 @@ class NCManageDatabase: NSObject {
         return tableMetadata.init(value: result)
     }
     
-    @objc func getTableMetadatasDirectoryFavoriteIdentifierRank() -> [String:NSNumber] {
+    @objc func getTableMetadatasDirectoryFavoriteIdentifierRank(account: String) -> [String:NSNumber] {
         
         var listIdentifierRank = [String:NSNumber]()
 
-        guard let tableAccount = self.getAccountActive() else {
-            return listIdentifierRank
-        }
-        
         let realm = try! Realm()
         realm.refresh()
         
         var counter = 10 as Int64
         
-        let results = realm.objects(tableMetadata.self).filter("account = %@ AND directory = true AND favorite = true", tableAccount.account).sorted(byKeyPath: "fileNameView", ascending: true)
+        let results = realm.objects(tableMetadata.self).filter("account = %@ AND directory = true AND favorite = true", account).sorted(byKeyPath: "fileNameView", ascending: true)
         
         for result in results {
             counter += 1
@@ -1945,18 +1913,14 @@ class NCManageDatabase: NSObject {
         return listIdentifierRank
     }
     
-    @objc func clearMetadatasUpload() {
-        
-        guard let tableAccount = self.getAccountActive() else {
-            return
-        }
+    @objc func clearMetadatasUpload(account: String) {
         
         let realm = try! Realm()
         
         do {
             try realm.write {
                 
-                let results = realm.objects(tableMetadata.self).filter("account == %@ AND (status == %d OR status == %@)", tableAccount.account, k_metadataStatusWaitUpload, k_metadataStatusUploadError)
+                let results = realm.objects(tableMetadata.self).filter("account == %@ AND (status == %d OR status == %@)", account, k_metadataStatusWaitUpload, k_metadataStatusUploadError)
                 
                 realm.delete(results)
             }
@@ -1971,16 +1935,12 @@ class NCManageDatabase: NSObject {
     
     //MARK: -
     //MARK: Table Photos
-    @objc func getTablePhotos(addMetadatasFromUpload: [tableMetadata]) -> [tableMetadata]? {
+    @objc func getTablePhotos(addMetadatasFromUpload: [tableMetadata], account: String) -> [tableMetadata]? {
 
-        guard let tableAccount = self.getAccountActive() else {
-            return nil
-        }
-        
         let realm = try! Realm()
         realm.refresh()
 
-        let predicate = NSPredicate(format: "account == %@", tableAccount.account)
+        let predicate = NSPredicate(format: "account == %@", account)
         let results = realm.objects(tablePhotos.self).filter(predicate).sorted(byKeyPath: "date", ascending: false)
 
         if (results.count > 0) {
@@ -2013,19 +1973,15 @@ class NCManageDatabase: NSObject {
         return tableMetadata.init(value: result)
     }
     
-    @objc func createTablePhotos(_ metadatas: [tableMetadata]) {
+    @objc func createTablePhotos(_ metadatas: [tableMetadata], account: String) {
 
-        guard let tableAccount = self.getAccountActive() else {
-            return
-        }
-        
         let realm = try! Realm()
         realm.refresh()
         
         do {
             try realm.write {
                 // DELETE ALL
-                let results = realm.objects(tablePhotos.self).filter("account = %@", tableAccount.account)
+                let results = realm.objects(tablePhotos.self).filter("account = %@", account)
                 realm.delete(results)
                 // INSERT ALL
                 let photos = Array(metadatas.map { tablePhotos.init(value:$0) })

+ 2 - 2
iOSClient/Media/CCMedia.m

@@ -693,7 +693,7 @@
             // Clear all Hardcoded new foto/video from CCNetworking
             [self.addMetadatasFromUpload removeAllObjects];
             
-            [[NCManageDatabase sharedInstance] createTablePhotos:metadatas];
+            [[NCManageDatabase sharedInstance] createTablePhotos:metadatas account:appDelegate.activeAccount];
 
             dispatch_async(dispatch_get_main_queue(), ^{
                 [self reloadDatasource:nil action:k_action_NULL];
@@ -794,7 +794,7 @@
     
     CCSectionDataSourceMetadata *sectionDataSourceTemp = [CCSectionDataSourceMetadata new];
     
-    NSArray *metadatas = [[NCManageDatabase sharedInstance] getTablePhotosWithAddMetadatasFromUpload:self.addMetadatasFromUpload];
+    NSArray *metadatas = [[NCManageDatabase sharedInstance] getTablePhotosWithAddMetadatasFromUpload:self.addMetadatasFromUpload account:appDelegate.activeAccount];
     sectionDataSourceTemp = [CCSectionMetadata creataDataSourseSectionMetadata:metadatas listProgressMetadata:nil groupByField:@"date" filterFileID:appDelegate.filterFileID filterTypeFileImage:filterTypeFileImage filterTypeFileVideo:filterTypeFileVideo activeAccount:appDelegate.activeAccount];
     
     if (withReloadData) {

+ 2 - 3
iOSClient/Settings/CCManageAutoUpload.m

@@ -265,7 +265,7 @@
             [[NCManageDatabase sharedInstance] setAccountAutoUploadProperty:@"autoUploadFull" state:NO];
 
             // remove
-            [[NCManageDatabase sharedInstance] clearMetadatasUpload];
+            [[NCManageDatabase sharedInstance] clearMetadatasUploadWithAccount:appDelegate.activeAccount];
         }
         
         [self reloadForm];
@@ -310,8 +310,7 @@
             
         } else {
             
-            [[NCManageDatabase sharedInstance] clearMetadatasUpload];
-            
+            [[NCManageDatabase sharedInstance] clearMetadatasUploadWithAccount:appDelegate.activeAccount];
             [[NCManageDatabase sharedInstance] setAccountAutoUploadProperty:@"autoUploadFull" state:NO];
         }
     }