diff options
author | marinofaggiana <ios@nextcloud.com> | 2022-07-29 13:21:50 +0300 |
---|---|---|
committer | marinofaggiana <ios@nextcloud.com> | 2022-07-29 13:21:50 +0300 |
commit | 1945448f2e1708e9f2e6fa0427e8b1fdd5ca75d9 (patch) | |
tree | fdfb3f296b2128b0070534869d2ebcabf442fa19 /iOSClient | |
parent | 96cad5cc4e43e90833a0639ae26e84b7d1839db1 (diff) |
improved delete queue = 10
Signed-off-by: marinofaggiana <ios@nextcloud.com>
Diffstat (limited to 'iOSClient')
-rw-r--r-- | iOSClient/Main/Collection Common/NCCollectionViewCommon.swift | 2 | ||||
-rw-r--r-- | iOSClient/Networking/NCOperationQueue.swift | 23 |
2 files changed, 19 insertions, 6 deletions
diff --git a/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift b/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift index 741e24769..f5adadb27 100644 --- a/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift +++ b/iOSClient/Main/Collection Common/NCCollectionViewCommon.swift @@ -358,7 +358,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS self.collectionView?.reloadData() } else { let (indexPath, sameSections) = dataSource.deleteMetadata(ocId: ocId) - if let indexPath = indexPath { + if let indexPath = indexPath, dataSource.metadatas.count > 0 { if sameSections && (indexPath.section < collectionView.numberOfSections && indexPath.row < collectionView.numberOfItems(inSection: indexPath.section)) { collectionView?.performBatchUpdates({ collectionView?.deleteItems(at: [indexPath]) diff --git a/iOSClient/Networking/NCOperationQueue.swift b/iOSClient/Networking/NCOperationQueue.swift index 319337773..42edc30cb 100644 --- a/iOSClient/Networking/NCOperationQueue.swift +++ b/iOSClient/Networking/NCOperationQueue.swift @@ -32,7 +32,8 @@ import NCCommunication }() private var downloadQueue = Queuer(name: "downloadQueue", maxConcurrentOperationCount: 5, qualityOfService: .default) - private let deleteQueue = Queuer(name: "deleteQueue", maxConcurrentOperationCount: 1, qualityOfService: .default) + private let deleteQueue = Queuer(name: "deleteQueue", maxConcurrentOperationCount: 10, qualityOfService: .default) + private let deleteQueueE2EE = Queuer(name: "deleteQueue", maxConcurrentOperationCount: 1, qualityOfService: .default) private let copyMoveQueue = Queuer(name: "copyMoveQueue", maxConcurrentOperationCount: 1, qualityOfService: .default) private let synchronizationQueue = Queuer(name: "synchronizationQueue", maxConcurrentOperationCount: 1, qualityOfService: .default) private let downloadThumbnailQueue = Queuer(name: "downloadThumbnailQueue", maxConcurrentOperationCount: 10, qualityOfService: .default) @@ -79,13 +80,25 @@ import NCCommunication // MARK: - Delete file @objc func delete(metadata: tableMetadata, onlyLocalCache: Bool) { - for operation in deleteQueue.operations as! [NCOperationDelete] { - if operation.metadata.ocId == metadata.ocId { - return + + let isFolderEncrypted = CCUtility.isFolderEncrypted(metadata.serverUrl, e2eEncrypted: metadata.e2eEncrypted, account: metadata.account, urlBase: metadata.urlBase) + if isFolderEncrypted { + for operation in deleteQueueE2EE.operations as! [NCOperationDelete] { + if operation.metadata.ocId == metadata.ocId { + return + } } + deleteQueueE2EE.addOperation(NCOperationDelete(metadata: metadata, onlyLocalCache: onlyLocalCache)) + } else { + for operation in deleteQueue.operations as! [NCOperationDelete] { + if operation.metadata.ocId == metadata.ocId { + return + } + } + deleteQueue.addOperation(NCOperationDelete(metadata: metadata, onlyLocalCache: onlyLocalCache)) } - deleteQueue.addOperation(NCOperationDelete(metadata: metadata, onlyLocalCache: onlyLocalCache)) } + @objc func deleteCancelAll() { deleteQueue.cancelAll() } |