From abcde349f0275539c3372a0666431ca1b82f6462 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Wed, 27 Jul 2022 10:08:26 +0100 Subject: [PATCH] using invisible visibility to avoid loading spinner from jumping around and hiding the loading when resending the email --- .../ftueauth/FtueAuthWaitForEmailFragment.kt | 12 +++++++++++- .../fragment_ftue_wait_for_email_verification.xml | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt index 4649c7c799..f0536e9cab 100644 --- a/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthWaitForEmailFragment.kt @@ -21,6 +21,7 @@ import android.os.Parcelable import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.view.isInvisible import androidx.core.view.isVisible import com.airbnb.mvrx.args import im.vector.app.R @@ -63,6 +64,7 @@ class FtueAuthWaitForEmailFragment @Inject constructor( .colorTerminatingFullStop(ThemeUtils.getColor(requireContext(), R.attr.colorSecondary)) views.emailVerificationSubtitle.text = getString(R.string.ftue_auth_email_verification_subtitle, params.email) views.emailVerificationResendEmail.debouncedClicks { + hideWaitingForVerificationLoading() viewModel.handle(OnboardingAction.PostRegisterAction(RegisterAction.SendAgainThreePid)) } } @@ -75,13 +77,21 @@ class FtueAuthWaitForEmailFragment @Inject constructor( private fun showLoadingIfReturningToScreen() { when (inferHasLeftAndReturnedToScreen) { - true -> views.emailVerificationWaiting.isVisible = true + true -> showWaitingForVerificationLoading() false -> { inferHasLeftAndReturnedToScreen = true } } } + private fun hideWaitingForVerificationLoading() { + views.emailVerificationWaiting.isInvisible = true + } + + private fun showWaitingForVerificationLoading() { + views.emailVerificationWaiting.isInvisible = false + } + override fun onPause() { super.onPause() viewModel.handle(OnboardingAction.StopEmailValidationCheck) diff --git a/vector/src/main/res/layout/fragment_ftue_wait_for_email_verification.xml b/vector/src/main/res/layout/fragment_ftue_wait_for_email_verification.xml index fff7d42720..d745d4f0c4 100644 --- a/vector/src/main/res/layout/fragment_ftue_wait_for_email_verification.xml +++ b/vector/src/main/res/layout/fragment_ftue_wait_for_email_verification.xml @@ -96,7 +96,7 @@ android:id="@+id/emailVerificationWaiting" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:visibility="gone" + android:visibility="invisible" app:layout_constraintBottom_toBottomOf="@id/emailVerificationSpace4" app:layout_constraintEnd_toEndOf="@id/ftueAuthGutterEnd" app:layout_constraintStart_toStartOf="@id/ftueAuthGutterStart"