From 39c5e5da34ca6eb9d103bfeae4cb1156915d647f Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 7 Dec 2021 22:41:49 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../redux/OnboardingWalletMiddleware.kt | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) 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 d2c733e206..cecbb010c6 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 @@ -12,6 +12,7 @@ import com.tangem.tap.common.redux.global.GlobalAction import com.tangem.tap.common.redux.navigation.AppScreen import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.domain.extensions.hasWallets +import com.tangem.tap.domain.tasks.product.ScanResponse import com.tangem.tap.features.home.redux.HomeAction import com.tangem.tap.features.home.redux.HomeMiddleware import com.tangem.tap.features.onboarding.products.note.redux.OnboardingNoteAction @@ -98,7 +99,9 @@ private fun handleWalletAction(action: Action) { store.dispatch(NavigationAction.PopBackTo()) store.dispatch(HomeAction.ReadCard) } else { - scope.launch { globalState.tapWalletManager.onCardScanned(scanResponse) } + val backupState = store.state.onboardingWalletState.backupState + val updatedScanResponse = updateScanResponseAfterBackup(scanResponse, backupState) + scope.launch { globalState.tapWalletManager.onCardScanned(updatedScanResponse) } store.dispatchOnMain(NavigationAction.NavigateTo(AppScreen.Wallet)) } } @@ -127,6 +130,21 @@ private fun handleWalletAction(action: Action) { } } +private fun updateScanResponseAfterBackup( + scanResponse: ScanResponse, backupState: BackupState +): ScanResponse { + val card = if (backupState.backupStep == BackupStep.Finished) { + val cardsCount = backupState.backupCardsNumber + 1 + scanResponse.card.copy( + backupStatus = Card.BackupStatus.Active(cardCount = cardsCount), + isAccessCodeSet = true + ) + } else { + scanResponse.card + } + return scanResponse.copy(card = card) +} + class BackupMiddleware { val backupMiddleware: Middleware = { dispatch, state -> { next -> @@ -239,7 +257,6 @@ class BackupMiddleware { store.dispatch(BackupAction.FinishBackup) } } - next(action) } }