Fix android service mode switch
This commit is contained in:
@@ -92,26 +92,24 @@ object Settings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var currentServiceMode = ServiceMode.NORMAL;
|
||||||
|
|
||||||
suspend fun rebuildServiceMode(): Boolean {
|
suspend fun rebuildServiceMode(): Boolean {
|
||||||
var newMode = ServiceMode.NORMAL
|
var newMode = ServiceMode.NORMAL
|
||||||
if (serviceMode == ServiceMode.VPN) {
|
try {
|
||||||
newMode = ServiceMode.VPN
|
if (serviceMode == ServiceMode.VPN) {
|
||||||
|
newMode = ServiceMode.VPN
|
||||||
|
}
|
||||||
|
} catch (_: Exception) {
|
||||||
}
|
}
|
||||||
// try {
|
if (currentServiceMode == newMode) {
|
||||||
// if (needVPNService()) {
|
|
||||||
// newMode = ServiceMode.VPN
|
|
||||||
// }
|
|
||||||
// } catch (_: Exception) {
|
|
||||||
// }
|
|
||||||
if (serviceMode == newMode) {
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
serviceMode = newMode
|
currentServiceMode = newMode
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun needVPNService(): Boolean {
|
private suspend fun needVPNService(): Boolean {
|
||||||
if (serviceMode == ServiceMode.VPN) return true
|
|
||||||
val filePath = activeConfigPath
|
val filePath = activeConfigPath
|
||||||
if (filePath.isBlank()) return false
|
if (filePath.isBlank()) return false
|
||||||
val content = JSONObject(File(filePath).readText())
|
val content = JSONObject(File(filePath).readText())
|
||||||
|
|||||||
Reference in New Issue
Block a user