VPN v2
This commit is contained in:
36
main/TBCMain.swift
Normal file
36
main/TBCMain.swift
Normal file
@@ -0,0 +1,36 @@
|
||||
import UIKit
|
||||
import NetworkExtension
|
||||
|
||||
class TBCMain: UITabBarController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
// perform(#selector(showWelcomeMessage), with: nil, afterDelay: 3)
|
||||
NotifyVPNStateChanged.observe(call: #selector(vpnStateChanged(_:)), on: self)
|
||||
changedState(currentVPNState)
|
||||
}
|
||||
|
||||
@objc func showWelcomeMessage() {
|
||||
performSegue(withIdentifier: "welcome", sender: nil)
|
||||
}
|
||||
|
||||
@objc func vpnStateChanged(_ notification: Notification) {
|
||||
changedState(notification.object as! VPNState)
|
||||
}
|
||||
|
||||
func changedState(_ newState: VPNState) {
|
||||
let stateView = self.tabBar.items?.last
|
||||
switch newState {
|
||||
case .on: stateView?.badgeValue = "✓"
|
||||
case .inbetween: stateView?.badgeValue = "⋯"
|
||||
case .off: stateView?.badgeValue = "✗"
|
||||
}
|
||||
if #available(iOS 10.0, *) {
|
||||
switch newState {
|
||||
case .on: stateView?.badgeColor = .systemGreen
|
||||
case .inbetween: stateView?.badgeColor = .systemYellow
|
||||
case .off: stateView?.badgeColor = .systemRed
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user