diff options
author | 2019-04-30 18:28:06 +0530 | |
---|---|---|
committer | 2019-05-25 13:24:01 +0200 | |
commit | 393718dfaf164548250898ec740475dba126a816 (patch) | |
tree | eaa5dfb2a3bca61b5033c0dc364e084131e30453 /WireGuard/WireGuard/UI/iOS/ViewController/MainViewController.swift | |
parent | iOS: Keep track of most-recently-activated tunnels (diff) | |
download | wireguard-apple-393718dfaf164548250898ec740475dba126a816.tar.xz wireguard-apple-393718dfaf164548250898ec740475dba126a816.zip |
iOS: Show Home screen quick actions for recent tunnels
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to '')
-rw-r--r-- | WireGuard/WireGuard/UI/iOS/ViewController/MainViewController.swift | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/WireGuard/WireGuard/UI/iOS/ViewController/MainViewController.swift b/WireGuard/WireGuard/UI/iOS/ViewController/MainViewController.swift index 380299c..1929c79 100644 --- a/WireGuard/WireGuard/UI/iOS/ViewController/MainViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/ViewController/MainViewController.swift @@ -57,6 +57,10 @@ class MainViewController: UISplitViewController { } } + func allTunnelNames() -> [String]? { + guard let tunnelsManager = self.tunnelsManager else { return nil } + return tunnelsManager.mapTunnels { $0.name } + } } extension MainViewController: TunnelsManagerActivationDelegate { @@ -84,7 +88,7 @@ extension MainViewController { } } - func showTunnelDetailForTunnel(named tunnelName: String, animated: Bool) { + func showTunnelDetailForTunnel(named tunnelName: String, animated: Bool, shouldToggleStatus: Bool) { let showTunnelDetailBlock: (TunnelsManager) -> Void = { [weak self] tunnelsManager in if let tunnel = tunnelsManager.tunnel(named: tunnelName) { let tunnelDetailVC = TunnelDetailTableViewController(tunnelsManager: tunnelsManager, tunnel: tunnel) @@ -99,6 +103,13 @@ extension MainViewController { } } } + if shouldToggleStatus { + if tunnel.status == .inactive { + tunnelsManager.startActivation(of: tunnel) + } else if tunnel.status == .active { + tunnelsManager.startDeactivation(of: tunnel) + } + } } } if let tunnelsManager = tunnelsManager { |