Skip to content

Commit 29b73bf

Browse files
committed
Fix concurrency tests
1 parent b787fab commit 29b73bf

File tree

3 files changed

+14
-10
lines changed

3 files changed

+14
-10
lines changed

src/main/kotlin/core/Service.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ object Service {
4747

4848
var goToResult : () -> Unit = {}
4949
var onError : (String?) -> Unit = {}
50+
var onEnableAbort : () -> Unit = {}
5051

5152
fun init () {
5253
speedTestHandler = SpeedTestHandler()
@@ -80,10 +81,9 @@ object Service {
8081

8182
fun startFetchServers (finished : () -> Unit) {
8283
CoroutineScope(Dispatchers.IO).launch {
83-
speedTestHandler.startup()
8484
speedTestHandler.setOnServerSelectListener(object : SpeedTestHandler.OnServerSelectListener{
8585
override fun onError() {
86-
86+
println("Error")
8787
}
8888
override fun onServerSelected(testPoint: TestPoint?) {
8989
this@Service.testPoint.value = testPoint
@@ -92,6 +92,7 @@ object Service {
9292
}
9393
}
9494
})
95+
speedTestHandler.startup()
9596
}
9697
}
9798

@@ -139,6 +140,7 @@ object Service {
139140
this@Service.jitter.value = jitter.roundPlace(1).toString()
140141
pingChart.add(ping)
141142
jitterChart.add(jitter)
143+
onEnableAbort.invoke()
142144
}
143145
override fun onIPInfoUpdate(ipInfo: String?) {
144146
this@Service.ipInfo.value = ipInfo.toString()

src/main/kotlin/core/SpeedTestHandler.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,8 @@ class SpeedTestHandler {
6464
}
6565
if (data.startsWith("\"") || data.startsWith("'")) { //fetch server list from URL
6666
if (!libreSpeed!!.loadServerList(data.subSequence(1, data.length - 1).toString())) {
67-
try {
68-
throw Exception("Failed to load server list")
69-
} catch (e: Exception) {
70-
e.printStackTrace()
71-
}
7267
onServerSelectListener?.onError()
68+
return
7369
}
7470
} else {
7571
val testPoints = JSONArray(data)

src/main/kotlin/routes/sections/home/TestStage.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ import components.SpeedMeterView
1515
import core.Service
1616
import core.Service.toValidString
1717
import dev.icerock.moko.mvvm.livedata.compose.observeAsState
18-
import kotlinx.coroutines.delay
1918
import theme.ColorBox
2019
import util.Utils.roundPlace
20+
import java.util.Timer
21+
import java.util.TimerTask
2122

2223
@Composable
2324
fun TestStage(onCancel : () -> Unit,goToResult : () -> Unit) {
@@ -48,8 +49,13 @@ fun TestStage(onCancel : () -> Unit,goToResult : () -> Unit) {
4849
Service.onError = {
4950
onCancel.invoke()
5051
}
51-
delay(3000)
52-
enablecancelation = true
52+
Service.onEnableAbort = {
53+
Timer().schedule(object : TimerTask() {
54+
override fun run() {
55+
enablecancelation = true
56+
}
57+
},2000)
58+
}
5359
}
5460

5561
Box(Modifier.fillMaxSize()) {

0 commit comments

Comments
 (0)