From 5d75cbacd4c4a0084c55aa574379b7a01f3ab8bf Mon Sep 17 00:00:00 2001 From: arm64v8a <48624112+arm64v8a@users.noreply.github.com> Date: Sat, 17 Jun 2023 11:52:34 +0900 Subject: [PATCH] optimize traffic --- .../io/nekohasekai/sagernet/bg/proto/ProxyInstance.kt | 2 +- .../io/nekohasekai/sagernet/bg/proto/TrafficLooper.kt | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sagernet/bg/proto/ProxyInstance.kt b/app/src/main/java/io/nekohasekai/sagernet/bg/proto/ProxyInstance.kt index 3865386..23fd25e 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/bg/proto/ProxyInstance.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/bg/proto/ProxyInstance.kt @@ -44,7 +44,7 @@ class ProxyInstance(profile: ProxyEntity, var service: BaseService.Interface? = override fun launch() { box.setAsMain() - super.launch() + super.launch() // start box runOnDefaultDispatcher { looper = service?.let { TrafficLooper(it.data, this) } looper?.start() diff --git a/app/src/main/java/io/nekohasekai/sagernet/bg/proto/TrafficLooper.kt b/app/src/main/java/io/nekohasekai/sagernet/bg/proto/TrafficLooper.kt index 362e805..36cc04c 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/bg/proto/TrafficLooper.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/bg/proto/TrafficLooper.kt @@ -93,8 +93,11 @@ class TrafficLooper val itemBypass = TrafficUpdater.TrafficLooperData(tag = TAG_BYPASS) while (sc.isActive) { - delay(delayMs) - proxy = data.proxy ?: continue + proxy = data.proxy + if (proxy == null) { + delay(delayMs) + continue + } if (trafficUpdater == null) { if (!proxy.isInitialized()) continue @@ -175,6 +178,8 @@ class TrafficLooper data.notification?.apply { if (listenPostSpeed) postNotificationSpeedUpdate(speed) } + + delay(delayMs) } } } \ No newline at end of file