diff options
| author | Albin <albin@mullvad.net> | 2022-07-29 08:21:22 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2022-07-29 13:28:17 +0200 |
| commit | c3dc9d34a2123cd7ac3cc172128f5ef6ea403427 (patch) | |
| tree | 01dd629a39743527a2efaca86e105fd931a8058b /android | |
| parent | 08f2d2d8cadd3d68c966f39fc292846e56a7b550 (diff) | |
| download | mullvadvpn-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.kt | 20 |
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) } |
