optimize stop before test

This commit is contained in:
arm64v8a 2023-03-16 18:39:45 +09:00
parent dc1515d04d
commit 7cf91435da
2 changed files with 10 additions and 10 deletions

View File

@ -558,14 +558,16 @@ class ConfigurationFragment @JvmOverloads constructor(
@Suppress("EXPERIMENTAL_API_USAGE")
fun pingTest(icmpPing: Boolean) {
stopService()
val test = TestDialog()
val testJobs = mutableListOf<Job>()
val dialog = test.builder.show()
val mainJob = runOnDefaultDispatcher {
if (DataStore.serviceState.started) {
stopService()
delay(500) // wait for service stop
}
val group = DataStore.currentGroup()
var profilesUnfiltered = SagerDatabase.proxyDao.getByGroup(group.id)
val profilesUnfiltered = SagerDatabase.proxyDao.getByGroup(group.id)
test.proxyN = profilesUnfiltered.size
val profiles = ConcurrentLinkedQueue(profilesUnfiltered)
val testPool = newFixedThreadPoolContext(5, "Connection test pool")
@ -692,13 +694,15 @@ class ConfigurationFragment @JvmOverloads constructor(
}
fun urlTest() {
stopService()
val test = TestDialog()
val dialog = test.builder.show()
val testJobs = mutableListOf<Job>()
val mainJob = runOnDefaultDispatcher {
if (DataStore.serviceState.started) {
stopService()
delay(500) // wait for service stop
}
val group = DataStore.currentGroup()
val profilesUnfiltered = SagerDatabase.proxyDao.getByGroup(group.id)
test.proxyN = profilesUnfiltered.size

View File

@ -192,16 +192,12 @@ class SettingsPreferenceFragment : PreferenceFragmentCompat() {
true
}
serviceMode.setOnPreferenceChangeListener { _, _ ->
if (DataStore.serviceState.started) SagerNet.stopService()
true
}
val tunImplementation = findPreference<SimpleMenuPreference>(Key.TUN_IMPLEMENTATION)!!
val resolveDestination = findPreference<SwitchPreference>(Key.RESOLVE_DESTINATION)!!
val acquireWakeLock = findPreference<SwitchPreference>(Key.ACQUIRE_WAKE_LOCK)!!
val enableClashAPI = findPreference<SwitchPreference>(Key.ENABLE_CLASH_API)!!
serviceMode.onPreferenceChangeListener = reloadListener
mixedPort.onPreferenceChangeListener = reloadListener
appendHttpProxy.onPreferenceChangeListener = reloadListener
showDirectSpeed.onPreferenceChangeListener = reloadListener