diff options
author | Roopesh Chander <roop@roopc.net> | 2018-11-10 18:50:09 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2018-11-11 01:18:36 +0530 |
commit | c5e8b05e8b1a56785b5acb54eb4797029f0fda9e (patch) | |
tree | 4e21da8b89bc2470c1b6ae82172718f43775f0e3 /WireGuard/WireGuard/UI/TunnelViewModel.swift | |
parent | Model: Add activationType to tunnel configuration (diff) | |
download | wireguard-apple-c5e8b05e8b1a56785b5acb54eb4797029f0fda9e.tar.xz wireguard-apple-c5e8b05e8b1a56785b5acb54eb4797029f0fda9e.zip |
Tunnel edit, Tunnel view model: UI for providing On-Demand activation options
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/UI/TunnelViewModel.swift')
-rw-r--r-- | WireGuard/WireGuard/UI/TunnelViewModel.swift | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/UI/TunnelViewModel.swift b/WireGuard/WireGuard/UI/TunnelViewModel.swift index 94e3e6d..bfcfb15 100644 --- a/WireGuard/WireGuard/UI/TunnelViewModel.swift +++ b/WireGuard/WireGuard/UI/TunnelViewModel.swift @@ -372,6 +372,7 @@ class TunnelViewModel { var interfaceData: InterfaceData var peersData: [PeerData] + var activationType: ActivationType init(tunnelConfiguration: TunnelConfiguration?) { let interfaceData: InterfaceData = InterfaceData() @@ -391,6 +392,20 @@ class TunnelViewModel { } self.interfaceData = interfaceData self.peersData = peersData + self.activationType = tunnelConfiguration?.activationType ?? .activateManually + } + + func activateOnDemandOptionText(for activationType: ActivationType) -> String { + switch (activationType) { + case .activateManually: + return "" + case .useOnDemandOverWifiAndCellular: + return "Over wifi and cellular" + case .useOnDemandOverWifiOnly: + return "Over wifi only" + case .useOnDemandOverCellularOnly: + return "Over cellular only" + } } func appendEmptyPeer() { @@ -442,6 +457,7 @@ class TunnelViewModel { } let tunnelConfiguration = TunnelConfiguration(interface: interfaceConfiguration, peers: peerConfigurations) + tunnelConfiguration.activationType = self.activationType return .saved(tunnelConfiguration) } } |