From 5e6348676cc517450ee7f27a9d2ad5d7b9aecb5a Mon Sep 17 00:00:00 2001 From: Rurirei <72071920+rurirei@users.noreply.github.com> Date: Thu, 1 Oct 2020 15:32:08 +0800 Subject: [PATCH] ignore err of registerNetworkConnectivity --- .../com/v2ray/ang/service/V2RayVpnService.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt index 823776a1..da4836bd 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt @@ -153,8 +153,12 @@ class V2RayVpnService : VpnService(), ServiceControl { } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - connectivity.requestNetwork(defaultNetworkRequest, defaultNetworkCallback) - listeningForDefaultNetwork = true + try { + connectivity.requestNetwork(defaultNetworkRequest, defaultNetworkCallback) + listeningForDefaultNetwork = true + } catch (ignored: Exception) { + // ignored + } } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { @@ -200,9 +204,13 @@ class V2RayVpnService : VpnService(), ServiceControl { // val emptyInfo = VpnNetworkInfo() // val info = loadVpnNetworkInfo(configName, emptyInfo)!! + (lastNetworkInfo ?: emptyInfo) // saveVpnNetworkInfo(configName, info) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && listeningForDefaultNetwork) { - connectivity.unregisterNetworkCallback(defaultNetworkCallback) - listeningForDefaultNetwork = false + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + try { + connectivity.unregisterNetworkCallback(defaultNetworkCallback) + listeningForDefaultNetwork = false + } catch (ignored: Exception) { + // ignored + } } V2RayServiceManager.stopV2rayPoint()