From: Roopesh Chander Date: Tue, 27 Jul 2021 20:40:45 +0000 (+0530) Subject: UI: Keep on-demand rules even if on-demand is disabled X-Git-Tag: 1.0.14-25~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=abaf1f1454e7e8203ef498f079163da42cfc657a;p=thirdparty%2Fwireguard-apple.git UI: Keep on-demand rules even if on-demand is disabled Signed-off-by: Roopesh Chander --- 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) } }