diff options
author | Roopesh Chander <roop@roopc.net> | 2018-12-05 15:23:55 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2018-12-07 12:36:19 +0530 |
commit | f6faffa4c1e0c11b7e2756d18d747dde43add529 (patch) | |
tree | 89dd0fadd08b20b09cc0769b9fef57ad684e2ba8 | |
parent | NE: Logging: Log file should begin with version numbers and tunnel name (diff) | |
download | wireguard-apple-f6faffa4c1e0c11b7e2756d18d747dde43add529.tar.xz wireguard-apple-f6faffa4c1e0c11b7e2756d18d747dde43add529.zip |
Refactoring: Consolidate file deletion into a separate function
Signed-off-by: Roopesh Chander <roop@roopc.net>
-rw-r--r-- | WireGuard/Shared/FileManager+Extension.swift | 10 | ||||
-rw-r--r-- | WireGuard/WireGuard/UI/iOS/AppDelegate.swift | 8 | ||||
-rw-r--r-- | WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift | 15 |
3 files changed, 16 insertions, 17 deletions
diff --git a/WireGuard/Shared/FileManager+Extension.swift b/WireGuard/Shared/FileManager+Extension.swift index 7b25ffb..4d9bf4f 100644 --- a/WireGuard/Shared/FileManager+Extension.swift +++ b/WireGuard/Shared/FileManager+Extension.swift @@ -16,4 +16,14 @@ extension FileManager { } return sharedFolderURL.appendingPathComponent("lastActivatedTunnelLog.txt") } + + static func deleteFile(at url: URL) -> Bool { + do { + try FileManager.default.removeItem(at: url) + } catch(let e) { + os_log("Failed to delete file '%{public}@': %{public}@", log: OSLog.default, type: .debug, url.absoluteString, e.localizedDescription) + return false + } + return true + } } diff --git a/WireGuard/WireGuard/UI/iOS/AppDelegate.swift b/WireGuard/WireGuard/UI/iOS/AppDelegate.swift index 7ba77e4..3b414dd 100644 --- a/WireGuard/WireGuard/UI/iOS/AppDelegate.swift +++ b/WireGuard/WireGuard/UI/iOS/AppDelegate.swift @@ -27,14 +27,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { } func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { - defer { - do { - try FileManager.default.removeItem(at: url) - } catch { - os_log("Failed to remove item from Inbox: %{public}@", log: OSLog.default, type: .debug, url.absoluteString) - } - } mainVC?.tunnelsListVC?.importFromFile(url: url) + _ = FileManager.deleteFile(at: url) return true } diff --git a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift index 6f8410e..7beb2e9 100644 --- a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift @@ -69,12 +69,9 @@ class SettingsTableViewController: UITableViewController { guard let destinationDir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return } + let destinationURL = destinationDir.appendingPathComponent("wireguard-export.zip") - do { - try FileManager.default.removeItem(at: destinationURL) - } catch { - os_log("Failed to delete file: %{public}@ : %{public}@", log: OSLog.default, type: .error, destinationURL.absoluteString, error.localizedDescription) - } + _ = FileManager.deleteFile(at: destinationURL) let count = tunnelsManager.numberOfTunnels() let tunnelConfigurations = (0 ..< count).compactMap { tunnelsManager.tunnel(at: $0).tunnelConfiguration() } @@ -102,10 +99,8 @@ class SettingsTableViewController: UITableViewController { let destinationURL = destinationDir.appendingPathComponent("WireGuard_iOS_log_\(timeStampString).txt") if (FileManager.default.fileExists(atPath: destinationURL.path)) { - do { - try FileManager.default.removeItem(at: destinationURL) - } catch { - os_log("Failed to delete file: %{public}@ : %{public}@", log: OSLog.default, type: .error, destinationURL.absoluteString, error.localizedDescription) + let isDeleted = FileManager.deleteFile(at: destinationURL) + if (!isDeleted) { showErrorAlert(title: "No log available", message: "The pre-existing log could not be cleared") return } @@ -131,7 +126,7 @@ class SettingsTableViewController: UITableViewController { activityVC.popoverPresentationController?.sourceRect = sourceView.bounds activityVC.completionWithItemsHandler = { (_, _, _, _) in // Remove the exported log file after the activity has completed - try? FileManager.default.removeItem(at: destinationURL) + _ = FileManager.deleteFile(at: destinationURL) } self.present(activityVC, animated: true) } |