Browse Source

improved code

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 years ago
parent
commit
741bd1a295

+ 22 - 20
iOSClient/Favorites/NCFavorite.swift

@@ -47,28 +47,30 @@ class NCFavorite: NCCollectionViewCommon {
     override func reloadDataSource(forced: Bool = true) {
     override func reloadDataSource(forced: Bool = true) {
         super.reloadDataSource()
         super.reloadDataSource()
 
 
-        var metadatas: [tableMetadata] = []
+        DispatchQueue.global().async {
+            var metadatas: [tableMetadata] = []
 
 
-        if self.serverUrl.isEmpty {
-            metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND favorite == true", self.appDelegate.account))
-        } else {
-            metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
-        }
+            if self.serverUrl.isEmpty {
+                metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND favorite == true", self.appDelegate.account))
+            } else {
+                metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
+            }
 
 
-        self.dataSource = NCDataSource(metadatas: metadatas,
-                                       account: self.appDelegate.account,
-                                       sort: self.layoutForView?.sort,
-                                       ascending: self.layoutForView?.ascending,
-                                       directoryOnTop: self.layoutForView?.directoryOnTop,
-                                       favoriteOnTop: true,
-                                       filterLivePhoto: true,
-                                       groupByField: self.groupByField,
-                                       providers: self.providers,
-                                       searchResults: self.searchResults)
-
-        DispatchQueue.main.async {
-            self.refreshControl.endRefreshing()
-            self.collectionView.reloadData()
+            self.dataSource = NCDataSource(metadatas: metadatas,
+                                           account: self.appDelegate.account,
+                                           sort: self.layoutForView?.sort,
+                                           ascending: self.layoutForView?.ascending,
+                                           directoryOnTop: self.layoutForView?.directoryOnTop,
+                                           favoriteOnTop: true,
+                                           filterLivePhoto: true,
+                                           groupByField: self.groupByField,
+                                           providers: self.providers,
+                                           searchResults: self.searchResults)
+
+            DispatchQueue.main.async {
+                self.refreshControl.endRefreshing()
+                self.collectionView.reloadData()
+            }
         }
         }
     }
     }
 
 

+ 0 - 4
iOSClient/FileViewInFolder/NCFileViewInFolder.swift

@@ -83,13 +83,11 @@ class NCFileViewInFolder: NCCollectionViewCommon {
         super.reloadDataSource()
         super.reloadDataSource()
 
 
         DispatchQueue.global().async {
         DispatchQueue.global().async {
-
             let metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
             let metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
             if self.metadataFolder == nil {
             if self.metadataFolder == nil {
                 self.metadataFolder = NCManageDatabase.shared.getMetadataFolder(account: self.appDelegate.account, urlBase: self.appDelegate.urlBase, serverUrl: self.serverUrl)
                 self.metadataFolder = NCManageDatabase.shared.getMetadataFolder(account: self.appDelegate.account, urlBase: self.appDelegate.urlBase, serverUrl: self.serverUrl)
             }
             }
 
 
-
             self.dataSource = NCDataSource(metadatas: metadatas,
             self.dataSource = NCDataSource(metadatas: metadatas,
                                            account: self.appDelegate.account,
                                            account: self.appDelegate.account,
                                            sort: self.layoutForView?.sort,
                                            sort: self.layoutForView?.sort,
@@ -102,10 +100,8 @@ class NCFileViewInFolder: NCCollectionViewCommon {
                                            searchResults: self.searchResults)
                                            searchResults: self.searchResults)
 
 
             DispatchQueue.main.async {
             DispatchQueue.main.async {
-
                 self.refreshControl.endRefreshing()
                 self.refreshControl.endRefreshing()
                 self.collectionView.reloadData()
                 self.collectionView.reloadData()
-
                 // Blink file
                 // Blink file
                 if self.fileName != nil {
                 if self.fileName != nil {
                     if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileName == %@", self.appDelegate.account, self.serverUrl, self.fileName!)) {
                     if let metadata = NCManageDatabase.shared.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileName == %@", self.appDelegate.account, self.serverUrl, self.fileName!)) {

+ 31 - 29
iOSClient/Offline/NCOffline.swift

@@ -47,41 +47,43 @@ class NCOffline: NCCollectionViewCommon {
     override func reloadDataSource(forced: Bool = true) {
     override func reloadDataSource(forced: Bool = true) {
         super.reloadDataSource()
         super.reloadDataSource()
 
 
-        var ocIds: [String] = []
-        var metadatas: [tableMetadata] = []
+        DispatchQueue.global().async {
+            var ocIds: [String] = []
+            var metadatas: [tableMetadata] = []
+
+            if self.serverUrl.isEmpty {
+                if let directories = NCManageDatabase.shared.getTablesDirectory(predicate: NSPredicate(format: "account == %@ AND offline == true", self.appDelegate.account), sorted: "serverUrl", ascending: true) {
+                    for directory: tableDirectory in directories {
+                        ocIds.append(directory.ocId)
+                    }
+                }
 
 
-        if self.serverUrl.isEmpty {
-            if let directories = NCManageDatabase.shared.getTablesDirectory(predicate: NSPredicate(format: "account == %@ AND offline == true", self.appDelegate.account), sorted: "serverUrl", ascending: true) {
-                for directory: tableDirectory in directories {
-                    ocIds.append(directory.ocId)
+                let files = NCManageDatabase.shared.getTableLocalFiles(predicate: NSPredicate(format: "account == %@ AND offline == true", self.appDelegate.account), sorted: "fileName", ascending: true)
+                for file in files {
+                    ocIds.append(file.ocId)
                 }
                 }
-            }
 
 
-            let files = NCManageDatabase.shared.getTableLocalFiles(predicate: NSPredicate(format: "account == %@ AND offline == true", self.appDelegate.account), sorted: "fileName", ascending: true)
-            for file in files {
-                ocIds.append(file.ocId)
+                metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND ocId IN %@", self.appDelegate.account, ocIds))
+            } else {
+                metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
             }
             }
 
 
-            metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND ocId IN %@", self.appDelegate.account, ocIds))
-        } else {
-            metadatas = NCManageDatabase.shared.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.account, self.serverUrl))
-        }
+            self.dataSource = NCDataSource(
+                metadatas: metadatas,
+                account: self.appDelegate.account,
+                sort: self.layoutForView?.sort,
+                ascending: self.layoutForView?.ascending,
+                directoryOnTop: self.layoutForView?.directoryOnTop,
+                favoriteOnTop: true,
+                filterLivePhoto: true,
+                groupByField: self.groupByField,
+                providers: self.providers,
+                searchResults: self.searchResults)
 
 
-        self.dataSource = NCDataSource(
-            metadatas: metadatas,
-            account: self.appDelegate.account,
-            sort: self.layoutForView?.sort,
-            ascending: self.layoutForView?.ascending,
-            directoryOnTop: self.layoutForView?.directoryOnTop,
-            favoriteOnTop: true,
-            filterLivePhoto: true,
-            groupByField: self.groupByField,
-            providers: self.providers,
-            searchResults: self.searchResults)
-
-        DispatchQueue.main.async {
-            self.refreshControl.endRefreshing()
-            self.collectionView.reloadData()
+            DispatchQueue.main.async {
+                self.refreshControl.endRefreshing()
+                self.collectionView.reloadData()
+            }
         }
         }
     }
     }
 
 

+ 0 - 1
iOSClient/Recent/NCRecent.swift

@@ -48,7 +48,6 @@ class NCRecent: NCCollectionViewCommon {
         super.reloadDataSource()
         super.reloadDataSource()
 
 
         DispatchQueue.global().async {
         DispatchQueue.global().async {
-
             let metadatas = NCManageDatabase.shared.getAdvancedMetadatas(predicate: NSPredicate(format: "account == %@", self.appDelegate.account), page: 1, limit: 100, sorted: "date", ascending: false)
             let metadatas = NCManageDatabase.shared.getAdvancedMetadatas(predicate: NSPredicate(format: "account == %@", self.appDelegate.account), page: 1, limit: 100, sorted: "date", ascending: false)
             self.dataSource = NCDataSource(metadatas: metadatas,
             self.dataSource = NCDataSource(metadatas: metadatas,
                                            account: self.appDelegate.account,
                                            account: self.appDelegate.account,

+ 0 - 1
iOSClient/Select/NCSelect.swift

@@ -749,7 +749,6 @@ extension NCSelect {
             }
             }
         }
         }
 
 
-
         let metadatas = NCManageDatabase.shared.getMetadatas(predicate: predicate!)
         let metadatas = NCManageDatabase.shared.getMetadatas(predicate: predicate!)
         self.dataSource = NCDataSource(metadatas: metadatas,
         self.dataSource = NCDataSource(metadatas: metadatas,
                                        account: activeAccount.account,
                                        account: activeAccount.account,

+ 8 - 4
iOSClient/Transfers/NCTransfers.swift

@@ -294,11 +294,15 @@ class NCTransfers: NCCollectionViewCommon, NCTransferCellDelegate {
     override func reloadDataSource(forced: Bool = true) {
     override func reloadDataSource(forced: Bool = true) {
         super.reloadDataSource()
         super.reloadDataSource()
 
 
-        let metadatas = NCManageDatabase.shared.getAdvancedMetadatas(predicate: NSPredicate(format: "status != %i", NCGlobal.shared.metadataStatusNormal), page: 1, limit: 100, sorted: "sessionTaskIdentifier", ascending: false)
-        self.dataSource = NCDataSource(metadatas: metadatas, account: self.appDelegate.account)
+        DispatchQueue.global().async {
+            let metadatas = NCManageDatabase.shared.getAdvancedMetadatas(predicate: NSPredicate(format: "status != %i", NCGlobal.shared.metadataStatusNormal), page: 1, limit: 100, sorted: "sessionTaskIdentifier", ascending: false)
+            self.dataSource = NCDataSource(metadatas: metadatas, account: self.appDelegate.account)
 
 
-        refreshControl.endRefreshing()
-        collectionView.reloadData()
+            DispatchQueue.main.async {
+                self.refreshControl.endRefreshing()
+                self.collectionView.reloadData()
+            }
+        }
     }
     }
 
 
     override func reloadDataSourceNetwork(forced: Bool = false) {
     override func reloadDataSourceNetwork(forced: Bool = false) {