diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt index f00b5c5273..b3056d7bdd 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletAction.kt @@ -61,6 +61,7 @@ sealed class BackupAction : Action { object FinishBackup : BackupAction() object DiscardBackup : BackupAction() + object DiscardSavedBackup : BackupAction() object ResumeBackup : BackupAction() } \ No newline at end of file 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 8b248a9422..dd9ea5cd54 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 @@ -89,13 +89,6 @@ private fun handleWalletAction(action: Action) { OnboardingWalletAction.FinishOnboarding -> { store.dispatch(GlobalAction.Onboarding.Stop) - (listOf(walletState.backupState.primaryCardId) + - walletState.backupState.backupCardIds + scanResponse?.card?.cardId) - .distinct().filterNotNull() - .forEach { cardId -> - preferencesStorage.usedCardsPrefStorage.activationFinished(cardId) - } - if (scanResponse == null) { store.dispatch(NavigationAction.PopBackTo()) store.dispatch(HomeAction.ReadCard) @@ -119,7 +112,7 @@ private fun handleWalletAction(action: Action) { when (walletState.backupState.backupStep) { BackupStep.InitBackup, BackupStep.Finished -> store.dispatch(NavigationAction.PopBackTo()) BackupStep.ScanOriginCard, BackupStep.AddBackupCards, BackupStep.EnterAccessCode, - BackupStep.ReenterAccessCode, BackupStep.SetAccessCode, BackupStep.WritePrimaryCard + BackupStep.ReenterAccessCode, BackupStep.SetAccessCode, BackupStep.WritePrimaryCard, -> { store.dispatch(BackupAction.DiscardBackup) store.dispatch(NavigationAction.PopBackTo()) @@ -132,7 +125,7 @@ private fun handleWalletAction(action: Action) { } private fun updateScanResponseAfterBackup( - scanResponse: ScanResponse, backupState: BackupState + scanResponse: ScanResponse, backupState: BackupState, ): ScanResponse { val card = if (backupState.backupCardsNumber > 0) { val cardsCount = backupState.backupCardsNumber @@ -240,11 +233,23 @@ class BackupMiddleware { } } is BackupAction.FinishBackup -> { -// store.dispatch(OnboardingWalletAction.Done) + (listOf(backupState?.primaryCardId, + store.state.globalState.onboardingState.onboardingManager?.scanResponse?.card?.cardId) + + backupState?.backupCardIds as List) + .distinct().filterNotNull() + .forEach { cardId -> + preferencesStorage.usedCardsPrefStorage.activationFinished(cardId) + } } is BackupAction.DiscardBackup -> { backupService.discardSavedBackup() } + is BackupAction.DiscardSavedBackup -> { + backupService.primaryCardId?.let { + preferencesStorage.usedCardsPrefStorage.activationFinished(it) + } + backupService.discardSavedBackup() + } is BackupAction.CheckForUnfinishedBackup -> { if (backupService.hasIncompletedBackup) { store.dispatch(GlobalAction.ShowDialog(BackupDialog.UnfinishedBackupFound)) 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 1d48365843..3947cd5d3f 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 @@ -126,6 +126,7 @@ class BackupReducer { BackupAction.CheckForUnfinishedBackup -> state BackupAction.DiscardBackup -> state BackupAction.ResumeBackup -> state + BackupAction.DiscardSavedBackup -> state } } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt index 07900822ba..8b88890be8 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/dialogs/ConfirmDiscardingBackupDialog.kt @@ -17,7 +17,7 @@ class ConfirmDiscardingBackupDialog { store.dispatch(BackupAction.ResumeBackup) } setNegativeButton(R.string.welcome_interrupted_backup_discard_discard) { _, _ -> - store.dispatch(BackupAction.DiscardBackup) + store.dispatch(BackupAction.DiscardSavedBackup) } setOnDismissListener { store.dispatch(GlobalAction.HideDialog)