Fix: fix network observe

This commit is contained in:
kr328 2021-11-21 13:01:56 +08:00
parent 1dcc8307ee
commit d93a7af534

View File

@ -41,26 +41,18 @@ class NetworkObserveModule(service: Service) :
} }
} }
private fun register(): Boolean { private fun register(): Result<Unit> {
return try { return runCatching {
connectivity.registerNetworkCallback(request, callback) connectivity.registerNetworkCallback(request, callback)
}.onFailure {
true Log.w("Observe network change: $it", it)
} catch (e: Exception) {
Log.w("Observe network changed: $e", e)
false
} }
} }
private fun unregister(): Boolean { private fun unregister(): Result<Unit> {
try { return runCatching {
connectivity.unregisterNetworkCallback(callback) connectivity.unregisterNetworkCallback(callback)
} catch (e: Exception) {
// ignored
} }
return false
} }
override suspend fun run() { override suspend fun run() {
@ -79,9 +71,9 @@ class NetworkObserveModule(service: Service) :
screenToggle.onReceive { screenToggle.onReceive {
when (it.action) { when (it.action) {
Intent.ACTION_SCREEN_ON -> Intent.ACTION_SCREEN_ON ->
register() register().isFailure
Intent.ACTION_SCREEN_OFF -> Intent.ACTION_SCREEN_OFF ->
unregister() unregister().isFailure
else -> else ->
false false
} }