using invisible visibility to avoid loading spinner from jumping around and hiding the loading when resending the email

This commit is contained in:
Adam Brown 2022-07-27 10:08:26 +01:00
parent 87995abc7f
commit abcde349f0
2 changed files with 12 additions and 2 deletions

View File

@ -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)

View File

@ -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"