mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2025-02-17 23:33:15 +03:00
Fix: fix network observe
This commit is contained in:
parent
1dcc8307ee
commit
d93a7af534
@ -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
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user