Updated on 2026-08-14

This commit is contained in:
Tangem 2025-03-17 11:58:47 +03:00
parent 779802cabf
commit 2ab9227ca0
2 changed files with 18 additions and 20 deletions

View file

@ -64,18 +64,31 @@ internal class MultiWalletFinalizeModel @Inject constructor(
private var walletHasBackupError = false
private var hasRing = false
val uiState = _uiState.asStateFlow()
val onBackFlow = MutableSharedFlow<Unit>()
val onEvent = MutableSharedFlow<MultiWalletFinalizeComponent.Event>()
init {
// save scan response to preferences to be able
// to continue finalize process after app restart
modelScope.launch {
// save scan response to preferences to be able
// to continue finalize process after app restart
onboardingRepository.saveUnfinishedFinalizeOnboarding(
scanResponse = multiWalletState.value.currentScanResponse,
)
// sets proper artwork state for initial step
// (if we start from backup cards, we need to show proper artwork) ([REDACTED_TASK_KEY])
when (getInitialStep()) {
MultiWalletFinalizeUM.Step.Primary -> { /* state is already set */ }
MultiWalletFinalizeUM.Step.BackupDevice1 -> {
onEvent.emit(MultiWalletFinalizeComponent.Event.OneBackupCardAdded)
}
MultiWalletFinalizeUM.Step.BackupDevice2 -> {
onEvent.emit(MultiWalletFinalizeComponent.Event.OneBackupCardAdded)
onEvent.emit(MultiWalletFinalizeComponent.Event.TwoBackupCardsAdded)
}
}
}
}
@ -91,21 +104,6 @@ internal class MultiWalletFinalizeModel @Inject constructor(
val backupService = backupServiceHolder.backupService.get() ?: return MultiWalletFinalizeUM()
val initialStep = getInitialStep()
// sets proper artwork state for initial step
// (if we start from backup cards, we need to show proper artwork) ([REDACTED_TASK_KEY])
modelScope.launch {
when (initialStep) {
MultiWalletFinalizeUM.Step.Primary -> { /* state is already set */ }
MultiWalletFinalizeUM.Step.BackupDevice1 -> {
onEvent.emit(MultiWalletFinalizeComponent.Event.OneBackupCardAdded)
}
MultiWalletFinalizeUM.Step.BackupDevice2 -> {
onEvent.emit(MultiWalletFinalizeComponent.Event.OneBackupCardAdded)
onEvent.emit(MultiWalletFinalizeComponent.Event.TwoBackupCardsAdded)
}
}
}
val batchId = when (initialStep) {
MultiWalletFinalizeUM.Step.Primary -> backupService.primaryCardBatchId
MultiWalletFinalizeUM.Step.BackupDevice1 -> backupService.backupCardsBatchIds.getOrNull(0)
@ -123,7 +121,7 @@ internal class MultiWalletFinalizeModel @Inject constructor(
onScanClick = ::onLinkClick,
scanPrimary = initialStep == MultiWalletFinalizeUM.Step.Primary,
cardNumber = cardId?.lastMasked().orEmpty(),
step = getInitialStep(),
step = initialStep,
)
}

View file

@ -24,7 +24,7 @@ data class OnboardingMultiWalletState(
* -> [Done]
*
* Wallet2/Ring
* CreateWallet -> SeedPhrase -> AddBackupDevice -> FinishBackup -> [Done]
* CreateWallet -> SeedPhrase -> AddBackupDevice -> Finalize -> [Done]
* |
* -> AddBackupDevice -> Finalize -> [Done]
*/