diff --git a/android/navi-pay/src/main/assets/navi-pay-payment-successful-main-diwali.lottie b/android/navi-pay/src/main/assets/navi-pay-payment-successful-main-diwali.lottie index 2b10e5cce8..8f5180e1a5 100644 Binary files a/android/navi-pay/src/main/assets/navi-pay-payment-successful-main-diwali.lottie and b/android/navi-pay/src/main/assets/navi-pay-payment-successful-main-diwali.lottie differ diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/Common.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/Common.kt new file mode 100644 index 0000000000..b5ce74fdfb --- /dev/null +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/Common.kt @@ -0,0 +1,15 @@ +/* + * + * * Copyright © 2024 by Navi Technologies Limited + * * All rights reserved. Strictly confidential + * + */ + +package com.navi.pay.management.common.paymentsummary.ui + +import androidx.compose.animation.core.CubicBezierEasing + +/** Reference : `FastOutSlowInEasing` from `androidx.compose.animation.core.Easing` */ +val SlowStartFastEndCustomEasing = CubicBezierEasing(0.51f, 0.1f, 0.26f, 0.93f) + +val SlowStartFastEndSmoothCustomEasing = CubicBezierEasing(0.42f, 0.0f, 0.58f, 1.0f) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenDiwali.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenDiwali.kt index 219550d3ed..6f10805fd5 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenDiwali.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenDiwali.kt @@ -17,8 +17,6 @@ import androidx.compose.animation.AnimatedContentScope import androidx.compose.animation.ExperimentalSharedTransitionApi import androidx.compose.animation.SharedTransitionLayout import androidx.compose.animation.SharedTransitionScope -import androidx.compose.animation.core.FastOutLinearInEasing -import androidx.compose.animation.core.LinearEasing import androidx.compose.animation.core.LinearOutSlowInEasing import androidx.compose.animation.core.animateDpAsState import androidx.compose.animation.core.animateFloatAsState @@ -410,7 +408,7 @@ fun PaymentSummaryScreenDiwali( tween( durationMillis = paymentSummaryViewModel.generalAnimationTransitionDuration, - easing = LinearEasing, + easing = SlowStartFastEndCustomEasing, ) )) .togetherWith( @@ -520,7 +518,7 @@ private fun SharedTransitionScope.ScratchCardOnLandSection( animationSpec = tween( durationMillis = smallScratchCardOnLandVisibilityAnimationDuration, - easing = FastOutLinearInEasing, + easing = SlowStartFastEndSmoothCustomEasing, ) ) @@ -530,7 +528,7 @@ private fun SharedTransitionScope.ScratchCardOnLandSection( animationSpec = tween( durationMillis = scratchCardSizeAnimationDuration, - easing = FastOutLinearInEasing, + easing = SlowStartFastEndSmoothCustomEasing, ), label = EMPTY ) @@ -550,7 +548,7 @@ private fun SharedTransitionScope.ScratchCardOnLandSection( animateContextScope, boundsTransform = { _, _ -> tween( - scratchCardBottomMovementAnimationDuration, + durationMillis = scratchCardBottomMovementAnimationDuration, easing = LinearOutSlowInEasing ) } diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenV2.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenV2.kt index dbe53be11a..c47cd6df0a 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenV2.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryScreenV2.kt @@ -17,8 +17,6 @@ import androidx.compose.animation.AnimatedContentScope import androidx.compose.animation.ExperimentalSharedTransitionApi import androidx.compose.animation.SharedTransitionLayout import androidx.compose.animation.SharedTransitionScope -import androidx.compose.animation.core.FastOutLinearInEasing -import androidx.compose.animation.core.LinearEasing import androidx.compose.animation.core.LinearOutSlowInEasing import androidx.compose.animation.core.animateDpAsState import androidx.compose.animation.core.animateFloatAsState @@ -408,7 +406,7 @@ fun PaymentSummaryScreenV2( tween( durationMillis = paymentSummaryViewModel.generalAnimationTransitionDuration, - easing = LinearEasing, + easing = SlowStartFastEndCustomEasing, ) )) .togetherWith( @@ -518,7 +516,7 @@ private fun SharedTransitionScope.ScratchCardOnLandSection( animationSpec = tween( durationMillis = smallScratchCardOnLandVisibilityAnimationDuration, - easing = FastOutLinearInEasing, + easing = SlowStartFastEndSmoothCustomEasing, ) ) @@ -528,7 +526,7 @@ private fun SharedTransitionScope.ScratchCardOnLandSection( animationSpec = tween( durationMillis = scratchCardSizeAnimationDuration, - easing = FastOutLinearInEasing, + easing = SlowStartFastEndSmoothCustomEasing, ), label = EMPTY ) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionDiwali.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionDiwali.kt index 76df116153..6728187b1a 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionDiwali.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionDiwali.kt @@ -764,8 +764,8 @@ private fun SharedTransitionScope.RewardsBottomBarWithStripSection( animatedVisibilityScope = animateContextScope, boundsTransform = { _, _ -> tween( - scratchCardBottomMovementAnimationDuration, - easing = LinearOutSlowInEasing + durationMillis = scratchCardBottomMovementAnimationDuration, + easing = SlowStartFastEndSmoothCustomEasing ) } ) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionV2.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionV2.kt index fb7ffb94b1..beaa362d70 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionV2.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/ui/PaymentSummaryTransactionDetailSectionV2.kt @@ -762,8 +762,8 @@ private fun SharedTransitionScope.RewardsBottomBarWithStripSection( animatedVisibilityScope = animateContextScope, boundsTransform = { _, _ -> tween( - scratchCardBottomMovementAnimationDuration, - easing = LinearOutSlowInEasing + durationMillis = scratchCardBottomMovementAnimationDuration, + easing = SlowStartFastEndSmoothCustomEasing ) } ) diff --git a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/viewmodel/PaymentSummaryViewModelV3.kt b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/viewmodel/PaymentSummaryViewModelV3.kt index 97f241ef59..3efefa138d 100644 --- a/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/viewmodel/PaymentSummaryViewModelV3.kt +++ b/android/navi-pay/src/main/kotlin/com/navi/pay/management/common/paymentsummary/viewmodel/PaymentSummaryViewModelV3.kt @@ -641,9 +641,9 @@ constructor( val rewardsNudgeDetailEntity = MutableStateFlow(null) - val scratchCardFullSizeAnimationDuration = 200 + val scratchCardFullSizeAnimationDuration = 180 val generalAnimationTransitionDuration = - 500 // Used for many transitions like main screen transition + 400 // Used for many transitions like main screen transition val scratchAndWinButtonAnimationDuration = naviPayDefaultConfig @@ -657,7 +657,7 @@ constructor( ) private val mainScreenTransitionDelay = 400L - private val scratchCardBottomStripeSectionVisibilityDelay = mainScreenTransitionDelay + 700L + private val scratchCardBottomStripeSectionVisibilityDelay = mainScreenTransitionDelay + 600L private val scratchCardRotationVisibilityDelay = mainScreenTransitionDelay + 200L