From f1b8de7312851a1e2f94e0d8390792576d641095 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Mon, 12 Nov 2018 15:52:28 +0530 Subject: [PATCH] Tunnel view model: VPN-on-demand stuff shouldn't be part of the tunnel model Signed-off-by: Roopesh Chander --- WireGuard/WireGuard/UI/TunnelViewModel.swift | 38 +++++++++++--------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/WireGuard/WireGuard/UI/TunnelViewModel.swift b/WireGuard/WireGuard/UI/TunnelViewModel.swift index bfcfb15..972c446 100644 --- a/WireGuard/WireGuard/UI/TunnelViewModel.swift +++ b/WireGuard/WireGuard/UI/TunnelViewModel.swift @@ -372,7 +372,6 @@ class TunnelViewModel { var interfaceData: InterfaceData var peersData: [PeerData] - var activationType: ActivationType init(tunnelConfiguration: TunnelConfiguration?) { let interfaceData: InterfaceData = InterfaceData() @@ -392,20 +391,6 @@ 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() { @@ -457,8 +442,29 @@ class TunnelViewModel { } let tunnelConfiguration = TunnelConfiguration(interface: interfaceConfiguration, peers: peerConfigurations) - tunnelConfiguration.activationType = self.activationType return .saved(tunnelConfiguration) } } } + +// MARK: Activate on demand + +extension TunnelViewModel { + func activateOnDemandOptionText(for activateOnDemandOption: ActivateOnDemandOption) -> String { + switch (activateOnDemandOption) { + case .none: + return "" + case .useOnDemandOverWifiOrCellular: + return "Over wifi or cellular" + case .useOnDemandOverWifiOnly: + return "Over wifi only" + case .useOnDemandOverCellularOnly: + return "Over cellular only" + } + } + + func defaultActivateOnDemandOption() -> ActivateOnDemandOption { + return .useOnDemandOverWifiOrCellular + } + +} -- 2.47.3