diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt index 1f51374cae..1417d013d1 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt @@ -47,7 +47,7 @@ sealed class GlobalAction : Action { * For SaltPay cards unfinished backup resumed after scanning the card on HomeScreen through Onboarding.Start. * See more Onboarding.Start, CheckForUnfinishedBackup */ - object StartForUnfinishedBackup : Onboarding() + data class StartForUnfinishedBackup(val addedBackupCardsCount: Int) : Onboarding() object Stop : Onboarding() } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 980c0ef64b..537b815ec3 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -347,7 +347,7 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction) } } is BackupAction.ResumeFoundUnfinishedBackup -> { - store.dispatch(GlobalAction.Onboarding.StartForUnfinishedBackup) + store.dispatch(GlobalAction.Onboarding.StartForUnfinishedBackup(backupService.addedBackupCardsCount)) store.dispatch(NavigationAction.NavigateTo(AppScreen.OnboardingWallet)) } is BackupAction.DismissBackup -> { diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 8cca79e9dd..43b61349ab 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -52,7 +52,7 @@ private class ReducerForGlobalAction { is GlobalAction.Onboarding.StartForUnfinishedBackup -> { OnboardingWalletState( backupState = state.backupState.copy( - maxBackupCards = 2, + maxBackupCards = action.addedBackupCardsCount, canSkipBackup = false, ), isSaltPay = false, diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/BackupAnimator.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/BackupAnimator.kt index 66f90f159c..6453fdca92 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/BackupAnimator.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/BackupAnimator.kt @@ -134,6 +134,7 @@ class WalletBackupAnimator( 1 -> { if (firstBackupCardAnimated) return firstBackupCardAnimated = true + FIRST_BACKUP.alpha(1f) cardsWidget.leapfrogWidget.leap { SECOND_BACKUP.alpha(0.4f) @@ -143,6 +144,7 @@ class WalletBackupAnimator( 2 -> { if (secondBackupCardAnimated) return secondBackupCardAnimated = true + SECOND_BACKUP.alpha(1f) cardsWidget.leapfrogWidget.leap { ORIGIN.alpha(0.4f) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt index 2ca75121a9..f91b444e9c 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt @@ -90,7 +90,7 @@ class OnboardingWalletFragment : BaseFragment(R.layout.fragment_onboarding_walle override fun loadToolbarMenu(): MenuProvider? = OnboardingMenuProvider() - private fun reInitCardsWidget(backupCardsCounts: Int) = with(binding) { + private fun reInitCardsWidgetIfNeeded(backupCardsCounts: Int) = with(binding) { val viewBackupCount = flCardsContainer.childCount - 1 if (viewBackupCount <= 0) return@with if (viewBackupCount == backupCardsCounts) return@with @@ -137,7 +137,7 @@ class OnboardingWalletFragment : BaseFragment(R.layout.fragment_onboarding_walle override fun newState(state: OnboardingWalletState) { if (activity == null || view == null) return - if (state.isSaltPay) reInitCardsWidget(1) + if (state.isSaltPay) reInitCardsWidgetIfNeeded(1) animator.updateBackupState(state.backupState) requireActivity().invalidateOptionsMenu() @@ -322,7 +322,7 @@ class OnboardingWalletFragment : BaseFragment(R.layout.fragment_onboarding_walle private fun showWritePrimaryCard(state: BackupState, isSaltPay: Boolean) = with(binding) { accessCodeDialog?.dismiss() - reInitCardsWidget(state.backupCardsNumber) + reInitCardsWidgetIfNeeded(state.backupCardsNumber) prepareViewForFinalizeStep() val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4)) @@ -358,6 +358,7 @@ class OnboardingWalletFragment : BaseFragment(R.layout.fragment_onboarding_walle private fun showWriteBackupCard(state: BackupState, isSaltPay: Boolean) = with(binding) { prepareViewForFinalizeStep() + reInitCardsWidgetIfNeeded(state.backupCardsNumber) val cardNumber = (state.backupStep as? BackupStep.WriteBackupCard)?.cardNumber ?: 1 if (isSaltPay) { tvHeader.text = getString(R.string.onboarding_saltpay_title_backup_card)