diff options
author | Roopesh Chander <roop@roopc.net> | 2021-07-28 02:10:45 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2021-07-28 03:34:36 +0530 |
commit | abaf1f1454e7e8203ef498f079163da42cfc657a (patch) | |
tree | f2052be0dd9dc5fa3735524ae9642a6e2839d32b | |
parent | UI: iOS: Tunnel detail: Incorporate on-demand-ness in 'Status' (diff) | |
download | wireguard-apple-abaf1f1454e7e8203ef498f079163da42cfc657a.tar.xz wireguard-apple-abaf1f1454e7e8203ef498f079163da42cfc657a.zip |
UI: Keep on-demand rules even if on-demand is disabled
Signed-off-by: Roopesh Chander <roop@roopc.net>
-rw-r--r-- | Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift | 2 | ||||
-rw-r--r-- | Sources/WireGuardApp/UI/ActivateOnDemandViewModel.swift | 26 |
2 files changed, 13 insertions, 15 deletions
diff --git a/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift b/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift index 167feb7..de717a8 100644 --- a/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift +++ b/Sources/WireGuardApp/Tunnel/ActivateOnDemandOption.swift @@ -46,7 +46,7 @@ extension ActivateOnDemandOption { } init(from tunnelProviderManager: NETunnelProviderManager) { - if tunnelProviderManager.isOnDemandEnabled, let onDemandRules = tunnelProviderManager.onDemandRules { + if let onDemandRules = tunnelProviderManager.onDemandRules { self = ActivateOnDemandOption.create(from: onDemandRules) } else { self = .off diff --git a/Sources/WireGuardApp/UI/ActivateOnDemandViewModel.swift b/Sources/WireGuardApp/UI/ActivateOnDemandViewModel.swift index 121a1a6..7ddb215 100644 --- a/Sources/WireGuardApp/UI/ActivateOnDemandViewModel.swift +++ b/Sources/WireGuardApp/UI/ActivateOnDemandViewModel.swift @@ -51,20 +51,18 @@ class ActivateOnDemandViewModel { extension ActivateOnDemandViewModel { convenience init(tunnel: TunnelContainer) { self.init() - if tunnel.isActivateOnDemandEnabled { - switch tunnel.onDemandOption { - case .off: - break - case .wiFiInterfaceOnly(let onDemandSSIDOption): - isWiFiInterfaceEnabled = true - (ssidOption, selectedSSIDs) = ssidViewModel(from: onDemandSSIDOption) - case .nonWiFiInterfaceOnly: - isNonWiFiInterfaceEnabled = true - case .anyInterface(let onDemandSSIDOption): - isWiFiInterfaceEnabled = true - isNonWiFiInterfaceEnabled = true - (ssidOption, selectedSSIDs) = ssidViewModel(from: onDemandSSIDOption) - } + switch tunnel.onDemandOption { + case .off: + break + case .wiFiInterfaceOnly(let onDemandSSIDOption): + isWiFiInterfaceEnabled = true + (ssidOption, selectedSSIDs) = ssidViewModel(from: onDemandSSIDOption) + case .nonWiFiInterfaceOnly: + isNonWiFiInterfaceEnabled = true + case .anyInterface(let onDemandSSIDOption): + isWiFiInterfaceEnabled = true + isNonWiFiInterfaceEnabled = true + (ssidOption, selectedSSIDs) = ssidViewModel(from: onDemandSSIDOption) } } |