diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-22 18:45:54 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-26 14:14:28 +0000 |
| commit | 3633528a7755192f42b2af7d84f9a2a5229a5167 (patch) | |
| tree | 7e9be3bcc7b047010a9929457f717bbfa1891214 /android/src | |
| parent | efc7f53b22cb9d19a1d09c1836899eb281beece8 (diff) | |
| download | mullvadvpn-3633528a7755192f42b2af7d84f9a2a5229a5167.tar.xz mullvadvpn-3633528a7755192f42b2af7d84f9a2a5229a5167.zip | |
Refactor `LaunchFragment` to use the job tracker
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt | 16 |
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 { |
