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

coding

Signed-off-by: marinofaggiana <ios@nextcloud.com>
marinofaggiana 2 жил өмнө
parent
commit
f6becfbcba

+ 23 - 25
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -1087,38 +1087,36 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
             
             NCNetworking.shared.unifiedSearchFiles(urlBase: appDelegate, literal: literalSearch) { allProviders in
                 self.providers = allProviders
-            } update: { searchResults, metadatas in
-                guard let metadatas = metadatas, metadatas.count > 0 else { return }
+            } update: { id, searchResults, metadatas in
+                guard let metadatas = metadatas, metadatas.count > 0, self.isSearching else { return }
 
-                if self.isSearching {
-                    semaphore.wait()
+                semaphore.wait()
 
-                    self.searchResults = searchResults
-                    self.metadatasSource = metadatas
-                    self.dataSource = NCDataSource(metadatasSource: self.metadatasSource,
-                                                   account: self.appDelegate.account,
-                                                   sort: self.layoutForView?.sort,
-                                                   ascending: self.layoutForView?.ascending,
-                                                   directoryOnTop: self.layoutForView?.directoryOnTop,
-                                                   favoriteOnTop: true,
-                                                   filterLivePhoto: true,
-                                                   providers: self.providers,
-                                                   searchResults: self.searchResults)
-
-                    DispatchQueue.main.sync {
-                        self.reloadDataThenPerform {
-                            semaphore.signal()
-                        }
+                print(id)
+                if id == "files" {
+                    print("")
+                }
+
+                self.searchResults = searchResults
+                self.metadatasSource = metadatas
+                self.dataSource = NCDataSource(metadatasSource: self.metadatasSource,
+                                               account: self.appDelegate.account,
+                                               sort: self.layoutForView?.sort,
+                                               ascending: self.layoutForView?.ascending,
+                                               directoryOnTop: self.layoutForView?.directoryOnTop,
+                                               favoriteOnTop: true,
+                                               filterLivePhoto: true,
+                                               providers: self.providers,
+                                               searchResults: self.searchResults)
+                DispatchQueue.main.sync {
+                    self.reloadDataThenPerform {
+                        semaphore.signal()
                     }
                 }
             } completion: { searchResults, metadatas, errorCode, errorDescription in
 
-                if self.isSearching, errorCode == 0, let metadatas = metadatas {
-                    self.searchResults = searchResults
-                    self.metadatasSource = metadatas
-                }
+                self.refreshControl.endRefreshing()
                 self.isReloadDataSourceNetworkInProgress = false
-                self.reloadDataSource()
             }
 
         } else {

+ 2 - 2
iOSClient/Networking/NCNetworking.swift

@@ -931,7 +931,7 @@ import Queuer
 
     /// Unified Search (NC>=20)
     ///
-    func unifiedSearchFiles(urlBase: NCUserBaseUrl, literal: String, providers: @escaping ([NCCSearchProvider]?) -> Void, update: @escaping ([NCCSearchResult]?, [tableMetadata]?) -> Void, completion: @escaping ([NCCSearchResult]?, _ metadatas: [tableMetadata]?, _ errorCode: Int, _ errorDescription: String) -> ()) {
+    func unifiedSearchFiles(urlBase: NCUserBaseUrl, literal: String, providers: @escaping ([NCCSearchProvider]?) -> Void, update: @escaping (_ id: String, [NCCSearchResult]?, [tableMetadata]?) -> Void, completion: @escaping ([NCCSearchResult]?, _ metadatas: [tableMetadata]?, _ errorCode: Int, _ errorDescription: String) -> ()) {
 
         var searchResults: [NCCSearchResult] = []
         var searchFiles: [tableMetadata] = []
@@ -1005,7 +1005,7 @@ import Queuer
                     }
                 })
             }
-            update(searchResults, searchFiles)
+            update(provider.id, searchResults, searchFiles)
         } completion: { results, code, description in
             self.requestsUnifiedSearch.removeAll()
             dispatchGroup.leave()