summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-07-29 08:21:22 +0200
committerAlbin <albin@mullvad.net>2022-07-29 13:28:17 +0200
commitc3dc9d34a2123cd7ac3cc172128f5ef6ea403427 (patch)
tree01dd629a39743527a2efaca86e105fd931a8058b /android
parent08f2d2d8cadd3d68c966f39fc292846e56a7b550 (diff)
downloadmullvadvpn-c3dc9d34a2123cd7ac3cc172128f5ef6ea403427.tar.xz
mullvadvpn-c3dc9d34a2123cd7ac3cc172128f5ef6ea403427.zip
Fix slow login spinner during view transition
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt20
1 files changed, 15 insertions, 5 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt
index 424872bf43..f4cdc8b14f 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt
@@ -158,6 +158,7 @@ class LoginFragment : BaseFragment(), NavigationBarPainter {
}
is LoginViewModel.LoginUiState.TooManyDevicesError -> {
+ showLoading(overrideSpinnerWithErrorIcon = true)
openDeviceListFragment(uiState.accountToken)
}
@@ -176,6 +177,7 @@ class LoginFragment : BaseFragment(), NavigationBarPainter {
}
private fun openDeviceListFragment(accountToken: String) {
+
val deviceFragment = DeviceListFragment().apply {
arguments = Bundle().apply { putString(ACCOUNT_TOKEN_ARGUMENT_KEY, accountToken) }
}
@@ -199,20 +201,28 @@ class LoginFragment : BaseFragment(), NavigationBarPainter {
paintNavigationBar(ContextCompat.getColor(requireContext(), R.color.darkBlue))
}
- private fun showLoading() {
+ private fun showLoading(overrideSpinnerWithErrorIcon: Boolean = false) {
accountLogin.state = LoginState.InProgress
title.setText(R.string.logging_in_title)
subtitle.setText(R.string.logging_in_description)
- loggingInStatus.visibility = View.VISIBLE
- loginFailStatus.visibility = View.GONE
+ loggingInStatus.visibility = if (overrideSpinnerWithErrorIcon == false) {
+ View.VISIBLE
+ } else {
+ View.GONE
+ }
+
+ loginFailStatus.visibility = if (overrideSpinnerWithErrorIcon == false) {
+ View.GONE
+ } else {
+ View.VISIBLE
+ }
+
loggedInStatus.visibility = View.GONE
background.requestFocus()
- accountLogin.state = LoginState.InProgress
-
scrollToShow(loggingInStatus)
}