summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-22 18:45:54 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-26 14:14:28 +0000
commit3633528a7755192f42b2af7d84f9a2a5229a5167 (patch)
tree7e9be3bcc7b047010a9929457f717bbfa1891214 /android
parentefc7f53b22cb9d19a1d09c1836899eb281beece8 (diff)
downloadmullvadvpn-3633528a7755192f42b2af7d84f9a2a5229a5167.tar.xz
mullvadvpn-3633528a7755192f42b2af7d84f9a2a5229a5167.zip
Refactor `LaunchFragment` to use the job tracker
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt16
1 files changed, 7 insertions, 9 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt
index d4c73795c5..99c1c4561e 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt
@@ -5,17 +5,11 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import kotlinx.coroutines.CompletableDeferred
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.launch
import net.mullvad.mullvadvpn.R
class LaunchFragment : ServiceAwareFragment() {
private val hasAccountToken = CompletableDeferred<Boolean>()
- private lateinit var advanceToNextScreenJob: Job
-
override fun onNewServiceConnection(serviceConnection: ServiceConnection) {
hasAccountToken.complete(serviceConnection.settingsListener.settings.accountToken != null)
}
@@ -36,15 +30,19 @@ class LaunchFragment : ServiceAwareFragment() {
override fun onResume() {
super.onResume()
- advanceToNextScreenJob = advanceToNextScreen()
+
+ jobTracker.newUiJob("advanceToNextScreen") {
+ advanceToNextScreen()
+ }
}
override fun onPause() {
- advanceToNextScreenJob.cancel()
+ jobTracker.cancelJob("advanceToNextScreen")
+
super.onPause()
}
- private fun advanceToNextScreen() = GlobalScope.launch(Dispatchers.Main) {
+ private suspend fun advanceToNextScreen() {
if (hasAccountToken.await()) {
advanceToConnectScreen()
} else {