summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-30 15:50:55 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-30 16:08:05 +0000
commita2c6201ae7176c462a5e62d58f21395d9e8aee90 (patch)
treee7d89571c4a28b4035e7d4d18089fb9c1899603a
parentbd0b27b7a5952e9c1283a843846e18659f86ec7a (diff)
downloadmullvadvpn-a2c6201ae7176c462a5e62d58f21395d9e8aee90.tar.xz
mullvadvpn-a2c6201ae7176c462a5e62d58f21395d9e8aee90.zip
Don't advance screen after leaving login screen
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/LoginFragment.kt19
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() {