diff --git a/android/app/src/main/kotlin/com/hiddify/hiddify/MethodHandler.kt b/android/app/src/main/kotlin/com/hiddify/hiddify/MethodHandler.kt index e1a6c5a0..76cde119 100644 --- a/android/app/src/main/kotlin/com/hiddify/hiddify/MethodHandler.kt +++ b/android/app/src/main/kotlin/com/hiddify/hiddify/MethodHandler.kt @@ -91,7 +91,7 @@ class MethodHandler : FlutterPlugin, MethodChannel.MethodCallHandler { if (restart) { mainActivity.reconnect() BoxService.stop() - delay(200) + delay(200L) mainActivity.startService() success(true) return@launch diff --git a/android/app/src/main/kotlin/com/hiddify/hiddify/bg/BoxService.kt b/android/app/src/main/kotlin/com/hiddify/hiddify/bg/BoxService.kt index f443c111..a258c222 100644 --- a/android/app/src/main/kotlin/com/hiddify/hiddify/bg/BoxService.kt +++ b/android/app/src/main/kotlin/com/hiddify/hiddify/bg/BoxService.kt @@ -29,6 +29,7 @@ import io.nekohasekai.libbox.SystemProxyStatus import io.nekohasekai.mobile.Mobile import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext @@ -133,7 +134,7 @@ class BoxService( this.commandServer = commandServer } - private suspend fun startService() { + private suspend fun startService(delayStart: Boolean = false) { try { Log.d(TAG, "starting service") @@ -178,6 +179,10 @@ class BoxService( return } + if (delayStart) { + delay(200L) + } + newService.start() boxService = newService commandServer?.setService(boxService) @@ -206,7 +211,7 @@ class BoxService( Seq.destroyRef(refnum) } boxService = null - startService() + startService(true) } } diff --git a/android/app/src/main/kotlin/com/hiddify/hiddify/utils/CommandClient.kt b/android/app/src/main/kotlin/com/hiddify/hiddify/utils/CommandClient.kt index 022f856d..8cf2f8bd 100644 --- a/android/app/src/main/kotlin/com/hiddify/hiddify/utils/CommandClient.kt +++ b/android/app/src/main/kotlin/com/hiddify/hiddify/utils/CommandClient.kt @@ -32,6 +32,7 @@ open class CommandClient( fun onDisconnected() {} fun updateStatus(status: StatusMessage) {} fun updateGroups(groups: List) {} + fun clearLog() {} fun appendLog(message: String) {} fun initializeClashMode(modeList: List, currentMode: String) {} fun updateClashMode(newMode: String) {} @@ -106,6 +107,10 @@ open class CommandClient( handler.updateGroups(groups) } + override fun clearLog() { + handler.clearLog() + } + override fun writeLog(message: String?) { if (message == null) { return diff --git a/dependencies.properties b/dependencies.properties index c8179ecb..ce7fd5a5 100644 --- a/dependencies.properties +++ b/dependencies.properties @@ -1 +1 @@ -core.version=0.5.3 \ No newline at end of file +core.version=0.6.1 \ No newline at end of file diff --git a/libcore b/libcore index b36fab34..ac0eddc5 160000 --- a/libcore +++ b/libcore @@ -1 +1 @@ -Subproject commit b36fab34eceb91f2fc207ff1852c238f88ac1b1b +Subproject commit ac0eddc583dd786d03620bf74ff62144999f3a1e