marinofaggiana 4 жил өмнө
parent
commit
e751524b59

+ 16 - 8
iOSClient/Main/NCCollectionCommon.swift

@@ -361,18 +361,24 @@ class NCCollectionCommon: NSObject {
     }
     
     func notificationDownloadStartFile(collectionView: UICollectionView?, dataSource: NCDataSource?, metadata: tableMetadata) {
-        dataSource?.reloadMetadata(ocId: metadata.ocId)
-        collectionView?.reloadData()
+        if let row = dataSource?.reloadMetadata(ocId: metadata.ocId) {
+            let indexPath = IndexPath(row: row, section: 0)
+            collectionView?.reloadItems(at: [indexPath])
+        }
     }
     
     func notificationDownloadedFile(collectionView: UICollectionView?, dataSource: NCDataSource?, metadata: tableMetadata) {
-        dataSource?.reloadMetadata(ocId: metadata.ocId)
-        collectionView?.reloadData()
+        if let row = dataSource?.reloadMetadata(ocId: metadata.ocId) {
+            let indexPath = IndexPath(row: row, section: 0)
+            collectionView?.reloadItems(at: [indexPath])
+        }
     }
     
     func notificationDownloadCancelFile(collectionView: UICollectionView?, dataSource: NCDataSource?, metadata: tableMetadata) {
-        dataSource?.reloadMetadata(ocId: metadata.ocId)
-        collectionView?.reloadData()
+        if let row = dataSource?.reloadMetadata(ocId: metadata.ocId) {
+            let indexPath = IndexPath(row: row, section: 0)
+            collectionView?.reloadItems(at: [indexPath])
+        }
     }
     
     func notificationUploadStartFile(collectionView: UICollectionView?, dataSource: NCDataSource?, metadata: tableMetadata, serverUrl: String, account: String) {
@@ -384,8 +390,10 @@ class NCCollectionCommon: NSObject {
     
     func notificationUploadedFile(collectionView: UICollectionView?, dataSource: NCDataSource?, metadata: tableMetadata, ocIdTemp: String, serverUrl: String, account: String) {
         if metadata.serverUrl == serverUrl && metadata.account == account {
-            dataSource?.reloadMetadata(ocId: metadata.ocId, ocIdTemp: ocIdTemp)
-            collectionView?.reloadData()
+            if let row = dataSource?.reloadMetadata(ocId: metadata.ocId, ocIdTemp: ocIdTemp) {
+                let indexPath = IndexPath(row: row, section: 0)
+                collectionView?.reloadItems(at: [indexPath])
+            }
         }
     }
     

+ 7 - 5
iOSClient/Main/NCDataSource.swift

@@ -139,13 +139,13 @@ import Foundation
         return (directories, files, size)
     }
     
-    @objc func deleteMetadata(ocId: String) {
+    func deleteMetadata(ocId: String) {
         if let index = self.getIndexMetadata(ocId: ocId) {
             self.metadatas.remove(at: index)
         }
     }
     
-    @objc func reloadMetadata(ocId: String, ocIdTemp: String? = nil) {
+    func reloadMetadata(ocId: String, ocIdTemp: String? = nil) -> Int? {
         var index: Int?
         
         if ocIdTemp != nil {
@@ -159,9 +159,11 @@ import Foundation
                 self.metadatas[index!] = metadata
             } 
         }
+        
+        return index
     }
     
-    @objc func addMetadata(_ metadata: tableMetadata) {
+    func addMetadata(_ metadata: tableMetadata) {
         
         for metadataCount in metadatas {
             if metadataCount.ocId == metadata.ocId {
@@ -189,7 +191,7 @@ import Foundation
     
     // MARK: -
     
-    @objc func cellForItemAt(indexPath: IndexPath) -> tableMetadata? {
+    func cellForItemAt(indexPath: IndexPath) -> tableMetadata? {
         
         let row = indexPath.row
         
@@ -200,7 +202,7 @@ import Foundation
         }
     }
     
-    @objc func numberOfItemsInSection(section: Int) -> Int {
+    func numberOfItemsInSection(section: Int) -> Int {
         return self.metadatas.count
     }
 }