Skip to content

Commit

Permalink
improved code
Browse files Browse the repository at this point in the history
Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
  • Loading branch information
marinofaggiana committed Sep 26, 2024
1 parent d20f125 commit e2b1f19
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 39 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ final class FilesIntegrationTests: BaseIntegrationXCTestCase {

Task {
// Test deleting folder
await _ = NCNetworking.shared.deleteMetadata(metadataFolder!, onlyLocalCache: false)
await _ = NCNetworking.shared.deleteMetadata(metadataFolder!)

XCTAssertEqual(NKError.success.errorCode, error.errorCode)
XCTAssertEqual(NKError.success.errorDescription, error.errorDescription)
Expand Down
4 changes: 2 additions & 2 deletions iOSClient/Extensions/UIAlertController+Extension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ extension UIAlertController {
var error = NKError()
var ocId: [String] = []
for metadata in selectedMetadatas where error == .success {
error = await NCNetworking.shared.deleteMetadata(metadata, onlyLocalCache: false, sceneIdentifier: sceneIdentifier)
error = await NCNetworking.shared.deleteMetadata(metadata)
if error == .success {
ocId.append(metadata.ocId)
}
Expand All @@ -137,7 +137,7 @@ extension UIAlertController {
var error = NKError()
var ocId: [String] = []
for metadata in selectedMetadatas where error == .success {
error = await NCNetworking.shared.deleteMetadata(metadata, onlyLocalCache: true, sceneIdentifier: sceneIdentifier)
error = await NCNetworking.shared.deleteCache(metadata, sceneIdentifier: sceneIdentifier)
if error == .success {
ocId.append(metadata.ocId)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ extension NCCollectionViewCommon: NCCollectionViewCommonSelectTabBarDelegate {
var error = NKError()
var ocId: [String] = []
for metadata in copyMetadatas where error == .success {
error = await NCNetworking.shared.deleteMetadata(metadata, onlyLocalCache: false, sceneIdentifier: self.controller?.sceneIdentifier)
error = await NCNetworking.shared.deleteMetadata(metadata)
if error == .success {
ocId.append(metadata.ocId)
}
Expand All @@ -68,7 +68,7 @@ extension NCCollectionViewCommon: NCCollectionViewCommonSelectTabBarDelegate {
var error = NKError()
var ocId: [String] = []
for metadata in copyMetadatas where error == .success {
error = await NCNetworking.shared.deleteMetadata(metadata, onlyLocalCache: true, sceneIdentifier: self.controller?.sceneIdentifier)
error = await NCNetworking.shared.deleteCache(metadata, sceneIdentifier: self.controller?.sceneIdentifier)
if error == .success {
ocId.append(metadata.ocId)
}
Expand Down
2 changes: 1 addition & 1 deletion iOSClient/Media/NCMedia+Command.swift
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ extension NCMedia: NCMediaSelectTabBarDelegate {
var ocIds: [String] = []
for ocId in fileSelect where error == .success {
if let metadata = self.database.getMetadataFromOcId(ocId) {
error = await NCNetworking.shared.deleteMetadata(metadata, onlyLocalCache: false, sceneIdentifier: self.controller?.sceneIdentifier)
error = await NCNetworking.shared.deleteMetadata(metadata)
if error == .success {
ocIds.append(metadata.ocId)
}
Expand Down
4 changes: 2 additions & 2 deletions iOSClient/Menu/NCContextMenu.swift
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ class NCContextMenu: NSObject {
alertController.addAction(UIAlertAction(title: NSLocalizedString("_delete_file_", comment: ""), style: .destructive) { _ in
Task {
var ocId: [String] = []
let error = await NCNetworking.shared.deleteMetadata(metadata, onlyLocalCache: false, sceneIdentifier: sceneIdentifier)
let error = await NCNetworking.shared.deleteMetadata(metadata)
if error == .success {
ocId.append(metadata.ocId)
}
Expand All @@ -174,7 +174,7 @@ class NCContextMenu: NSObject {
image: utility.loadImage(named: "trash"), attributes: .destructive) { _ in
Task {
var ocId: [String] = []
let error = await NCNetworking.shared.deleteMetadata(metadata, onlyLocalCache: true, sceneIdentifier: sceneIdentifier)
let error = await NCNetworking.shared.deleteCache(metadata, sceneIdentifier: sceneIdentifier)
if error == .success {
ocId.append(metadata.ocId)
}
Expand Down
63 changes: 33 additions & 30 deletions iOSClient/Networking/NCNetworking+WebDAV.swift
Original file line number Diff line number Diff line change
Expand Up @@ -323,12 +323,13 @@ extension NCNetworking {

// MARK: - Delete

func tapHudDeleteMetadata() {
tapHudStopDelete = true
func tapHudDeleteCache() {
tapHudStopDeleteCache = true
}

func deleteMetadata(_ metadata: tableMetadata, onlyLocalCache: Bool, sceneIdentifier: String?) async -> (NKError) {
func deleteCache(_ metadata: tableMetadata, sceneIdentifier: String?) async -> (NKError) {
let ncHud = NCHud()

var num: Float = 0

func numIncrement() -> Float {
Expand All @@ -349,40 +350,42 @@ extension NCNetworking {
#endif
}

self.tapHudStopDelete = false
self.tapHudStopDeleteCache = false

if metadata.directory {
#if !EXTENSION
if let controller = SceneManager.shared.getController(sceneIdentifier: sceneIdentifier) {
await MainActor.run {
ncHud.initHudRing(view: controller.view, tapToCancelDetailText: true, tapOperation: tapHudDeleteCache)
}
}
#endif
let serverUrl = metadata.serverUrl + "/" + metadata.fileName
let metadatas = self.database.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl BEGINSWITH %@ AND directory == false", metadata.account, serverUrl))
let numMetadatas = Float(metadatas.count)
for metadata in metadatas {
deleteLocalFile(metadata: metadata)
let num = numIncrement()
ncHud.progress(num: num, total: numMetadatas)
if tapHudStopDeleteCache { break }
}
#if !EXTENSION
ncHud.dismiss()
#endif
} else {
deleteLocalFile(metadata: metadata)
}

return .success
}

func deleteMetadata(_ metadata: tableMetadata) async -> (NKError) {
if metadata.status == global.metadataStatusWaitCreateFolder {
let metadatas = database.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl BEGINSWITH %@ AND status IN %@", metadata.account, metadata.serverUrl, global.metadataStatusAllUp))
for metadata in metadatas {
database.deleteMetadataOcId(metadata.ocId)
utilityFileSystem.removeFile(atPath: utilityFileSystem.getDirectoryProviderStorageOcId(metadata.ocId))
}
} else if onlyLocalCache {
if metadata.directory {
#if !EXTENSION
if let controller = SceneManager.shared.getController(sceneIdentifier: sceneIdentifier) {
await MainActor.run {
ncHud.initHudRing(view: controller.view, tapToCancelDetailText: true, tapOperation: tapHudDeleteMetadata)
}
}
#endif
let serverUrl = metadata.serverUrl + "/" + metadata.fileName
let metadatas = self.database.getMetadatas(predicate: NSPredicate(format: "account == %@ AND serverUrl BEGINSWITH %@ AND directory == false", metadata.account, serverUrl))
let numMetadatas = Float(metadatas.count)
for metadata in metadatas {
deleteLocalFile(metadata: metadata)
let num = numIncrement()
ncHud.progress(num: num, total: numMetadatas)
if tapHudStopDelete { break }
}
#if !EXTENSION
ncHud.dismiss()
#endif
} else {
deleteLocalFile(metadata: metadata)
}

return .success
}

if metadata.status == NCGlobal.shared.metadataStatusWaitCreateFolder {
Expand Down
2 changes: 1 addition & 1 deletion iOSClient/Networking/NCNetworking.swift
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class NCNetworking: NSObject, NextcloudKitDelegate {
weak var certificateDelegate: ClientCertificateDelegate?
var p12Data: Data?
var p12Password: String?
var tapHudStopDelete = false
var tapHudStopDeleteCache = false

var isOffline: Bool {
return networkReachability == NKCommon.TypeReachability.notReachable || networkReachability == NKCommon.TypeReachability.unknown
Expand Down

0 comments on commit e2b1f19

Please sign in to comment.