Browse Source

coding

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

+ 16 - 1
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -896,7 +896,22 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
 
 
         if let metadataForSection = metadataForSection, let searchResult = metadataForSection.searchResult, let cursor = searchResult.cursor, let term = literalSearch {
         if let metadataForSection = metadataForSection, let searchResult = metadataForSection.searchResult, let cursor = searchResult.cursor, let term = literalSearch {
             NCNetworking.shared.unifiedSearchFilesProvider(urlBase: appDelegate, id: searchResult.id, term: term, cursor: cursor) { searchResult, metadatas, errorCode, ErrorDescription in
             NCNetworking.shared.unifiedSearchFilesProvider(urlBase: appDelegate, id: searchResult.id, term: term, cursor: cursor) { searchResult, metadatas, errorCode, ErrorDescription in
-                //
+                guard let searchResult = searchResult, let metadatas = metadatas else {
+                    return
+                }
+                metadataForSection.searchResult = searchResult
+                var indexPaths: [IndexPath] = []
+                for metadata in metadatas {
+                    let (indexPath, sameSections) = self.dataSource.addMetadata(metadata)
+                    if let indexPath = indexPath, sameSections {
+                        indexPaths.append(indexPath)
+                    }
+                }
+                self.collectionView?.performBatchUpdates({
+                    self.collectionView?.deleteItems(at: indexPaths)
+                }, completion: { _ in
+                    self.collectionView?.reloadData()
+                })
             }
             }
         }
         }
     }
     }

+ 6 - 2
iOSClient/Networking/NCNetworking.swift

@@ -1023,7 +1023,9 @@ import Queuer
 
 
         NCCommunication.shared.searchProvider(id, term: term, limit: 5, cursor: cursor, timeout: 60) { searchResult, errorCode, errorDescription in
         NCCommunication.shared.searchProvider(id, term: term, limit: 5, cursor: cursor, timeout: 60) { searchResult, errorCode, errorDescription in
             guard let searchResult = searchResult else {
             guard let searchResult = searchResult else {
-                completion(nil, metadatas, errorCode, errorDescription)
+                DispatchQueue.main.async {
+                    completion(nil, metadatas, errorCode, errorDescription)
+                }
                 return
                 return
             }
             }
 
 
@@ -1060,7 +1062,9 @@ import Queuer
                 })
                 })
             }
             }
 
 
-            completion(searchResult, metadatas, errorCode, errorDescription)
+            DispatchQueue.main.async {
+                completion(searchResult, metadatas, errorCode, errorDescription)
+            }
         }
         }
     }
     }