diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-30 15:50:55 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-09-30 16:08:05 +0000 |
| commit | a2c6201ae7176c462a5e62d58f21395d9e8aee90 (patch) | |
| tree | e7d89571c4a28b4035e7d4d18089fb9c1899603a /android/src | |
| parent | bd0b27b7a5952e9c1283a843846e18659f86ec7a (diff) | |
| download | mullvadvpn-a2c6201ae7176c462a5e62d58f21395d9e8aee90.tar.xz mullvadvpn-a2c6201ae7176c462a5e62d58f21395d9e8aee90.zip | |
Don't advance screen after leaving login screen
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt index ff6630b586..2714078268 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt @@ -3,6 +3,7 @@ package net.mullvad.mullvadvpn import kotlinx.coroutines.async import kotlinx.coroutines.delay import kotlinx.coroutines.launch +import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope @@ -29,7 +30,10 @@ class LoginFragment : Fragment() { private lateinit var loginFailStatus: View private lateinit var accountInput: AccountInput + private val loggedIn = CompletableDeferred<Unit>() + private var loginJob: Deferred<Boolean>? = null + private var advanceToNextScreenJob: Job? = null override fun onAttach(context: Context) { super.onAttach(context) @@ -60,6 +64,19 @@ class LoginFragment : Fragment() { return view } + override fun onResume() { + super.onResume() + advanceToNextScreenJob = GlobalScope.launch(Dispatchers.Main) { + loggedIn.join() + openConnectScreen() + } + } + + override fun onPause() { + advanceToNextScreenJob?.cancel() + super.onPause() + } + private fun createAccount() { val uri = Uri.parse(parentActivity.getString(R.string.create_account_url)) val intent = Intent(Intent.ACTION_VIEW, uri) @@ -104,7 +121,7 @@ class LoginFragment : Fragment() { private suspend fun loggedIn() { showLoggedInMessage() delay(1000) - openConnectScreen() + loggedIn.complete(Unit) } private fun showLoggedInMessage() { |
