Fix a missing synchronized
This commit is contained in:
@@ -23,6 +23,7 @@ object DefaultNetworkMonitor : UpstreamMonitor() {
|
||||
override fun onAvailable(network: Network) {
|
||||
val properties = app.connectivity.getLinkProperties(network)
|
||||
val ifname = properties?.interfaceName ?: return
|
||||
synchronized(this@DefaultNetworkMonitor) {
|
||||
when (currentNetwork) {
|
||||
null -> { }
|
||||
network -> {
|
||||
@@ -36,8 +37,10 @@ object DefaultNetworkMonitor : UpstreamMonitor() {
|
||||
currentLinkProperties = properties
|
||||
callbacks.forEach { it.onAvailable(ifname, properties.dnsServers) }
|
||||
}
|
||||
}
|
||||
|
||||
override fun onLinkPropertiesChanged(network: Network, properties: LinkProperties) {
|
||||
synchronized(this@DefaultNetworkMonitor) {
|
||||
if (currentNetwork == null) {
|
||||
onAvailable(network)
|
||||
return
|
||||
@@ -63,8 +66,9 @@ object DefaultNetworkMonitor : UpstreamMonitor() {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onLost(network: Network) {
|
||||
override fun onLost(network: Network) = synchronized(this@DefaultNetworkMonitor) {
|
||||
if (currentNetwork != network) return
|
||||
callbacks.forEach { it.onLost() }
|
||||
currentNetwork = null
|
||||
|
||||
Reference in New Issue
Block a user