Migrate SpeedtestUtil to SpeedtestManager

This commit is contained in:
2dust
2025-03-19 10:43:00 +08:00
parent 093716baaa
commit 172d9fd093
5 changed files with 13 additions and 12 deletions

View File

@@ -1,4 +1,4 @@
package com.v2ray.ang.util
package com.v2ray.ang.handler
import android.content.Context
import android.os.SystemClock
@@ -7,7 +7,7 @@ import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.extension.responseLength
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.util.HttpUtil
import kotlinx.coroutines.isActive
import libv2ray.Libv2ray
import java.io.IOException
@@ -16,7 +16,7 @@ import java.net.Socket
import java.net.UnknownHostException
import kotlin.coroutines.coroutineContext
object SpeedtestUtil {
object SpeedtestManager {
private val tcpTestingSockets = ArrayList<Socket?>()

View File

@@ -12,7 +12,7 @@ import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.MessageUtil
import com.v2ray.ang.util.PluginUtil
import com.v2ray.ang.util.SpeedtestUtil
import com.v2ray.ang.handler.SpeedtestManager
import com.v2ray.ang.util.Utils
import go.Seq
import kotlinx.coroutines.CoroutineScope
@@ -65,7 +65,7 @@ class V2RayTestService : Service() {
if (!config.status) {
return retFailure
}
return SpeedtestUtil.realPing(config.content)
return SpeedtestManager.realPing(config.content)
}
}
}

View File

@@ -14,7 +14,7 @@ import com.v2ray.ang.AppConfig
import com.v2ray.ang.BuildConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityAboutBinding
import com.v2ray.ang.util.SpeedtestUtil
import com.v2ray.ang.handler.SpeedtestManager
import com.v2ray.ang.util.Utils
import com.v2ray.ang.util.ZipUtil
import java.io.File
@@ -121,7 +121,7 @@ class AboutActivity : BaseActivity() {
Utils.openUri(this, AppConfig.v2rayNGPrivacyPolicy)
}
"v${BuildConfig.VERSION_NAME} (${SpeedtestUtil.getLibVersion()})".also {
"v${BuildConfig.VERSION_NAME} (${SpeedtestManager.getLibVersion()})".also {
binding.tvVersion.text = it
}
}

View File

@@ -7,6 +7,7 @@ import com.v2ray.ang.AppConfig.ANG_PACKAGE
import com.v2ray.ang.dto.EConfigType
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.fmt.Hysteria2Fmt
import com.v2ray.ang.handler.SpeedtestManager
import com.v2ray.ang.service.ProcessService
import java.io.File
@@ -49,7 +50,7 @@ object PluginUtil {
val proc = ProcessService()
proc.runProcess(context, cmd)
Thread.sleep(1000L)
val delay = SpeedtestUtil.testConnection(context, socksPort)
val delay = SpeedtestManager.testConnection(context, socksPort)
proc.stopProcess()
return delay.first

View File

@@ -24,7 +24,7 @@ import com.v2ray.ang.handler.AngConfigManager
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.util.MessageUtil
import com.v2ray.ang.util.SpeedtestUtil
import com.v2ray.ang.handler.SpeedtestManager
import com.v2ray.ang.util.Utils
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -60,7 +60,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
override fun onCleared() {
getApplication<AngApplication>().unregisterReceiver(mMsgReceiver)
tcpingTestScope.coroutineContext[Job]?.cancelChildren()
SpeedtestUtil.closeAllTcpSockets()
SpeedtestManager.closeAllTcpSockets()
Log.i(ANG_PACKAGE, "Main ViewModel is cleared")
super.onCleared()
}
@@ -174,7 +174,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
fun testAllTcping() {
tcpingTestScope.coroutineContext[Job]?.cancelChildren()
SpeedtestUtil.closeAllTcpSockets()
SpeedtestManager.closeAllTcpSockets()
MmkvManager.clearAllTestDelayResults(serversCache.map { it.guid }.toList())
//updateListAction.value = -1 // update all
@@ -185,7 +185,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
val serverPort = outbound.serverPort
if (serverAddress != null && serverPort != null) {
tcpingTestScope.launch {
val testResult = SpeedtestUtil.tcping(serverAddress, serverPort.toInt())
val testResult = SpeedtestManager.tcping(serverAddress, serverPort.toInt())
launch(Dispatchers.Main) {
MmkvManager.encodeServerTestDelayMillis(item.guid, testResult)
updateListAction.value = getPosition(item.guid)