Acquire wifi lock also when wifi is available but not the active network
This commit is contained in:
@ -1795,24 +1795,30 @@ class BaresipService: Service() {
|
|||||||
Log.d(TAG, "Added/Removed/Old/New Active = $added/$removed/$activeNetwork/$active")
|
Log.d(TAG, "Added/Removed/Old/New Active = $added/$removed/$activeNetwork/$active")
|
||||||
|
|
||||||
if (added > 0 || removed > 0 || active != activeNetwork) {
|
if (added > 0 || removed > 0 || active != activeNetwork) {
|
||||||
|
Api.net_debug()
|
||||||
linkAddresses = addresses
|
linkAddresses = addresses
|
||||||
activeNetwork = active
|
activeNetwork = active
|
||||||
Api.uag_reset_transp(register = true, reinvite = true)
|
Api.uag_reset_transp(register = true, reinvite = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
Api.net_debug()
|
val hasWifi = allNetworks.any { network ->
|
||||||
|
val caps = cm.getNetworkCapabilities(network)
|
||||||
|
caps != null && caps.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
|
||||||
|
}
|
||||||
|
|
||||||
if (activeNetwork != null) {
|
if (hasWifi) {
|
||||||
val caps = cm.getNetworkCapabilities(activeNetwork)
|
if (!wifiLock.isHeld) {
|
||||||
if (caps != null && caps.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
|
|
||||||
Log.d(TAG, "Acquiring WiFi Lock")
|
Log.d(TAG, "Acquiring WiFi Lock")
|
||||||
wifiLock.acquire()
|
wifiLock.acquire()
|
||||||
return
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
if (wifiLock.isHeld) {
|
||||||
Log.d(TAG, "Releasing WiFi Lock")
|
Log.d(TAG, "Releasing WiFi Lock")
|
||||||
wifiLock.release()
|
wifiLock.release()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun linkAddresses(): MutableMap<String, String> {
|
private fun linkAddresses(): MutableMap<String, String> {
|
||||||
val addresses = mutableMapOf<String, String>()
|
val addresses = mutableMapOf<String, String>()
|
||||||
|
|||||||
Reference in New Issue
Block a user