From abaf1f1454e7e8203ef498f079163da42cfc657a Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Wed, 28 Jul 2021 02:10:45 +0530 Subject: [PATCH] UI: Keep on-demand rules even if on-demand is disabled Signed-off-by: Roopesh Chander --- .../Tunnel/ActivateOnDemandOption.swift | 2 +- .../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) } } -- 2.47.2