Rename stuff
This commit is contained in:
@@ -16,13 +16,11 @@ object VpnMonitor : ConnectivityManager.NetworkCallback() {
|
|||||||
|
|
||||||
private const val TAG = "VpnMonitor"
|
private const val TAG = "VpnMonitor"
|
||||||
|
|
||||||
val connectivityManager = app.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
private val manager = app.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||||
private val request by lazy {
|
private val request = NetworkRequest.Builder()
|
||||||
NetworkRequest.Builder()
|
.addTransportType(NetworkCapabilities.TRANSPORT_VPN)
|
||||||
.addTransportType(NetworkCapabilities.TRANSPORT_VPN)
|
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
|
||||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
|
.build()
|
||||||
.build()
|
|
||||||
}
|
|
||||||
private val callbacks = HashSet<Callback>()
|
private val callbacks = HashSet<Callback>()
|
||||||
private var registered = false
|
private var registered = false
|
||||||
|
|
||||||
@@ -31,7 +29,7 @@ object VpnMonitor : ConnectivityManager.NetworkCallback() {
|
|||||||
*/
|
*/
|
||||||
private val available = HashMap<Network, String>()
|
private val available = HashMap<Network, String>()
|
||||||
override fun onAvailable(network: Network) {
|
override fun onAvailable(network: Network) {
|
||||||
val ifname = connectivityManager.getLinkProperties(network)?.interfaceName ?: return
|
val ifname = manager.getLinkProperties(network)?.interfaceName ?: return
|
||||||
if (available.put(network, ifname) != null) return
|
if (available.put(network, ifname) != null) return
|
||||||
debugLog(TAG, "onAvailable: $ifname")
|
debugLog(TAG, "onAvailable: $ifname")
|
||||||
callbacks.forEach { it.onAvailable(ifname) }
|
callbacks.forEach { it.onAvailable(ifname) }
|
||||||
@@ -46,13 +44,13 @@ object VpnMonitor : ConnectivityManager.NetworkCallback() {
|
|||||||
fun registerCallback(callback: Callback) {
|
fun registerCallback(callback: Callback) {
|
||||||
if (!callbacks.add(callback)) return
|
if (!callbacks.add(callback)) return
|
||||||
if (registered) available.forEach { callback.onAvailable(it.value) } else {
|
if (registered) available.forEach { callback.onAvailable(it.value) } else {
|
||||||
connectivityManager.registerNetworkCallback(request, this)
|
manager.registerNetworkCallback(request, this)
|
||||||
registered = true
|
registered = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fun unregisterCallback(callback: Callback) {
|
fun unregisterCallback(callback: Callback) {
|
||||||
if (!callbacks.remove(callback) || callbacks.isNotEmpty() || !registered) return
|
if (!callbacks.remove(callback) || callbacks.isNotEmpty() || !registered) return
|
||||||
connectivityManager.unregisterNetworkCallback(this)
|
manager.unregisterNetworkCallback(this)
|
||||||
registered = false
|
registered = false
|
||||||
available.clear()
|
available.clear()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user