mirror of
https://github.com/MatsuriDayo/NekoBoxForAndroid.git
synced 2025-12-20 15:10:05 +08:00
optimize stop before test
This commit is contained in:
parent
dc1515d04d
commit
7cf91435da
@ -558,14 +558,16 @@ class ConfigurationFragment @JvmOverloads constructor(
|
|||||||
|
|
||||||
@Suppress("EXPERIMENTAL_API_USAGE")
|
@Suppress("EXPERIMENTAL_API_USAGE")
|
||||||
fun pingTest(icmpPing: Boolean) {
|
fun pingTest(icmpPing: Boolean) {
|
||||||
stopService()
|
|
||||||
|
|
||||||
val test = TestDialog()
|
val test = TestDialog()
|
||||||
val testJobs = mutableListOf<Job>()
|
val testJobs = mutableListOf<Job>()
|
||||||
val dialog = test.builder.show()
|
val dialog = test.builder.show()
|
||||||
val mainJob = runOnDefaultDispatcher {
|
val mainJob = runOnDefaultDispatcher {
|
||||||
|
if (DataStore.serviceState.started) {
|
||||||
|
stopService()
|
||||||
|
delay(500) // wait for service stop
|
||||||
|
}
|
||||||
val group = DataStore.currentGroup()
|
val group = DataStore.currentGroup()
|
||||||
var profilesUnfiltered = SagerDatabase.proxyDao.getByGroup(group.id)
|
val profilesUnfiltered = SagerDatabase.proxyDao.getByGroup(group.id)
|
||||||
test.proxyN = profilesUnfiltered.size
|
test.proxyN = profilesUnfiltered.size
|
||||||
val profiles = ConcurrentLinkedQueue(profilesUnfiltered)
|
val profiles = ConcurrentLinkedQueue(profilesUnfiltered)
|
||||||
val testPool = newFixedThreadPoolContext(5, "Connection test pool")
|
val testPool = newFixedThreadPoolContext(5, "Connection test pool")
|
||||||
@ -692,13 +694,15 @@ class ConfigurationFragment @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun urlTest() {
|
fun urlTest() {
|
||||||
stopService()
|
|
||||||
|
|
||||||
val test = TestDialog()
|
val test = TestDialog()
|
||||||
val dialog = test.builder.show()
|
val dialog = test.builder.show()
|
||||||
val testJobs = mutableListOf<Job>()
|
val testJobs = mutableListOf<Job>()
|
||||||
|
|
||||||
val mainJob = runOnDefaultDispatcher {
|
val mainJob = runOnDefaultDispatcher {
|
||||||
|
if (DataStore.serviceState.started) {
|
||||||
|
stopService()
|
||||||
|
delay(500) // wait for service stop
|
||||||
|
}
|
||||||
val group = DataStore.currentGroup()
|
val group = DataStore.currentGroup()
|
||||||
val profilesUnfiltered = SagerDatabase.proxyDao.getByGroup(group.id)
|
val profilesUnfiltered = SagerDatabase.proxyDao.getByGroup(group.id)
|
||||||
test.proxyN = profilesUnfiltered.size
|
test.proxyN = profilesUnfiltered.size
|
||||||
|
|||||||
@ -192,16 +192,12 @@ class SettingsPreferenceFragment : PreferenceFragmentCompat() {
|
|||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
serviceMode.setOnPreferenceChangeListener { _, _ ->
|
|
||||||
if (DataStore.serviceState.started) SagerNet.stopService()
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
val tunImplementation = findPreference<SimpleMenuPreference>(Key.TUN_IMPLEMENTATION)!!
|
val tunImplementation = findPreference<SimpleMenuPreference>(Key.TUN_IMPLEMENTATION)!!
|
||||||
val resolveDestination = findPreference<SwitchPreference>(Key.RESOLVE_DESTINATION)!!
|
val resolveDestination = findPreference<SwitchPreference>(Key.RESOLVE_DESTINATION)!!
|
||||||
val acquireWakeLock = findPreference<SwitchPreference>(Key.ACQUIRE_WAKE_LOCK)!!
|
val acquireWakeLock = findPreference<SwitchPreference>(Key.ACQUIRE_WAKE_LOCK)!!
|
||||||
val enableClashAPI = findPreference<SwitchPreference>(Key.ENABLE_CLASH_API)!!
|
val enableClashAPI = findPreference<SwitchPreference>(Key.ENABLE_CLASH_API)!!
|
||||||
|
|
||||||
|
serviceMode.onPreferenceChangeListener = reloadListener
|
||||||
mixedPort.onPreferenceChangeListener = reloadListener
|
mixedPort.onPreferenceChangeListener = reloadListener
|
||||||
appendHttpProxy.onPreferenceChangeListener = reloadListener
|
appendHttpProxy.onPreferenceChangeListener = reloadListener
|
||||||
showDirectSpeed.onPreferenceChangeListener = reloadListener
|
showDirectSpeed.onPreferenceChangeListener = reloadListener
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user