From 923d039a78e8a4a026bda684ce4b84956e074353 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Mon, 12 Nov 2018 16:04:03 +0530 Subject: Tunnels manager: Keep track of NETunnelProviderManager's isOnDemandEnabled property Signed-off-by: Roopesh Chander --- WireGuard/WireGuard/VPN/TunnelsManager.swift | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'WireGuard/WireGuard/VPN') diff --git a/WireGuard/WireGuard/VPN/TunnelsManager.swift b/WireGuard/WireGuard/VPN/TunnelsManager.swift index d75e6c0..935036d 100644 --- a/WireGuard/WireGuard/VPN/TunnelsManager.swift +++ b/WireGuard/WireGuard/VPN/TunnelsManager.swift @@ -158,6 +158,8 @@ class TunnelsManager { tunnel.beginRestart() } + tunnel.isActivateOnDemandEnabled = tunnelProviderManager.isOnDemandEnabled + completionHandler(nil) } } @@ -215,9 +217,9 @@ class TunnelsManager { tunnel.startDeactivation() } - func refreshConnectionStatuses() { + func refreshStatuses() { for t in tunnels { - t.refreshConnectionStatus() + t.refreshStatus() } } } @@ -225,6 +227,7 @@ class TunnelsManager { class TunnelContainer: NSObject { @objc dynamic var name: String @objc dynamic var status: TunnelStatus + @objc dynamic var isActivateOnDemandEnabled: Bool var onDeactivationComplete: (() -> Void)? @@ -235,6 +238,7 @@ class TunnelContainer: NSObject { self.name = tunnel.localizedDescription ?? "Unnamed" let status = TunnelStatus(from: tunnel.connection.status) self.status = status + self.isActivateOnDemandEnabled = tunnel.isOnDemandEnabled self.tunnelProvider = tunnel super.init() if (status != .inactive) { @@ -250,9 +254,10 @@ class TunnelContainer: NSObject { return ActivateOnDemandSetting(from: tunnelProvider) } - func refreshConnectionStatus() { + func refreshStatus() { let status = TunnelStatus(from: self.tunnelProvider.connection.status) self.status = status + self.isActivateOnDemandEnabled = self.tunnelProvider.isOnDemandEnabled if (status != .inactive) { startObservingTunnelStatus() } -- cgit v1.2.3-59-g8ed1b