From 74cf6638df5b212e8307f57bf960dfc40cfed0da Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 28 Oct 2025 13:48:15 +0200 Subject: [PATCH] [MS-1222] UI Elements no longer resize once the fade out animation is finished --- .../scanocr/ExternalCredentialScanOcrFragment.kt | 15 +++++++++++++-- .../com/simprints/infra/uibase/view/View.ext.kt | 3 ++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt index 6a1b97f656..7778ad377a 100644 --- a/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt +++ b/feature/external-credential/src/main/java/com/simprints/feature/externalcredential/screens/scanocr/ExternalCredentialScanOcrFragment.kt @@ -232,8 +232,19 @@ internal class ExternalCredentialScanOcrFragment : Fragment(R.layout.fragment_ex private fun animateCompletionState() = with(binding) { isAnimatingCompletion = true - progressBar.fadeOut(FINISH_ANIMATION_DURATION, scaleX = true, fragment = this@ExternalCredentialScanOcrFragment) - scanInstructions.fadeOut(FINISH_ANIMATION_DURATION, scaleX = false, fragment = this@ExternalCredentialScanOcrFragment) + val finalVisibility = View.INVISIBLE + progressBar.fadeOut( + FINISH_ANIMATION_DURATION, + scaleX = true, + fragment = this@ExternalCredentialScanOcrFragment, + finalVisibility = finalVisibility, + ) + scanInstructions.fadeOut( + FINISH_ANIMATION_DURATION, + scaleX = false, + fragment = this@ExternalCredentialScanOcrFragment, + finalVisibility = finalVisibility, + ) iconScanComplete.fadeIn(FINISH_ANIMATION_DURATION, fragment = this@ExternalCredentialScanOcrFragment, onComplete = { isAnimatingCompletion = false // Execute any pending action after the animation. Currently used is for next fragment navigation diff --git a/infra/ui-base/src/main/java/com/simprints/infra/uibase/view/View.ext.kt b/infra/ui-base/src/main/java/com/simprints/infra/uibase/view/View.ext.kt index 3cda7178ea..444027fd3d 100644 --- a/infra/ui-base/src/main/java/com/simprints/infra/uibase/view/View.ext.kt +++ b/infra/ui-base/src/main/java/com/simprints/infra/uibase/view/View.ext.kt @@ -39,13 +39,14 @@ fun View.fadeOut( duration: Long, scaleX: Boolean, fragment: Fragment, + finalVisibility: Int = View.GONE, ) = animate() .alpha(0f) .setDuration(duration) .setInterpolator(DecelerateInterpolator()) .withEndAction { if (fragment.isAdded) { - this.isVisible = false + this.visibility = finalVisibility } }.also { if (scaleX) {