func refreshTunnelConnectionStatuses() {
if let tunnelsManager = tunnelsManager {
- tunnelsManager.refreshConnectionStatuses()
+ tunnelsManager.refreshStatuses()
} else {
onTunnelsManagerReady = { tunnelsManager in
- tunnelsManager.refreshConnectionStatuses()
+ tunnelsManager.refreshStatuses()
}
}
}
tunnel.beginRestart()
}
+ tunnel.isActivateOnDemandEnabled = tunnelProviderManager.isOnDemandEnabled
+
completionHandler(nil)
}
}
tunnel.startDeactivation()
}
- func refreshConnectionStatuses() {
+ func refreshStatuses() {
for t in tunnels {
- t.refreshConnectionStatus()
+ t.refreshStatus()
}
}
}
class TunnelContainer: NSObject {
@objc dynamic var name: String
@objc dynamic var status: TunnelStatus
+ @objc dynamic var isActivateOnDemandEnabled: Bool
var onDeactivationComplete: (() -> Void)?
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) {
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()
}