marinofaggiana 4 years ago
parent
commit
ec14ff1f4c
2 changed files with 24 additions and 0 deletions
  1. 21 0
      iOSClient/Database/NCManageDatabase.swift
  2. 3 0
      iOSClient/Files/NCFiles.swift

+ 21 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -2116,6 +2116,27 @@ class NCManageDatabase: NSObject {
         return tableMetadata.init(value: result)
     }
     
+    @objc func getMetadataFolder(account: String, urlBase: String, serverUrl: String) -> tableMetadata? {
+        
+        let realm = try! Realm()
+        realm.refresh()
+        var serverUrl = serverUrl
+        var fileName = ""
+        
+        let serverUrlHome = NCUtility.shared.getHomeServer(urlBase: urlBase, account: account)
+        if serverUrlHome == serverUrl {
+            fileName = "."
+            serverUrl = ".."
+        } else {
+            fileName = CCUtility.getLastPath(fromServerUrl: serverUrl, urlBase: urlBase)
+            serverUrl = CCUtility.deletingLastPathComponent(fromServerUrl: serverUrl)
+        }
+        
+        guard let result = realm.objects(tableMetadata.self).filter("account == %@ AND serverUrl == %@ AND fileName == %@", account, serverUrl, fileName).first else { return nil }
+        
+        return tableMetadata.init(value: result)
+    }
+    
     @objc func getTableMetadatasDirectoryFavoriteIdentifierRank(account: String) -> [String: NSNumber] {
         
         var listIdentifierRank: [String: NSNumber] = [:]

+ 3 - 0
iOSClient/Files/NCFiles.swift

@@ -77,6 +77,9 @@ class NCFiles: NCCollectionViewCommon  {
         
         if !isSearching {
             metadatasSource = NCManageDatabase.sharedInstance.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", appDelegate.account, serverUrl), page: 0, limit: 0, sorted: sort, ascending: ascending)
+            if metadataFolder == nil {
+                metadataFolder = NCManageDatabase.sharedInstance.getMetadataFolder(account: appDelegate.account, urlBase: appDelegate.urlBase, serverUrl:  serverUrl)
+            }
         }
         
         self.dataSource = NCDataSource.init(metadatasSource: metadatasSource, directoryOnTop: directoryOnTop, filterLivePhoto: true)