Updated on 2026-08-14

This commit is contained in:
Tangem 2024-10-09 09:41:35 +04:00
parent 0a4235ee0a
commit 29de9c017d
8 changed files with 36 additions and 18 deletions

View file

@ -183,11 +183,14 @@ private fun handleWalletAction(action: Action) {
BackupService.State.FinalizingPrimaryCard -> BackupAction.PrepareToWritePrimaryCard
is BackupService.State.FinalizingBackupCard -> BackupAction.PrepareToWriteBackupCard(backupState.index)
else -> {
if (onboardingWalletState.backupState.backupStep == BackupStep.InitBackup ||
if (onboardingWalletState.backupState.backupStep == null ||
onboardingWalletState.backupState.backupStep == BackupStep.InitBackup ||
onboardingWalletState.backupState.backupStep == BackupStep.Finished
) {
Analytics.send(Onboarding.Backup.ScreenOpened())
BackupAction.IntroduceBackup
val isWallet2 = scanResponse?.cardTypesResolver?.isWallet2() ?: false
if (isWallet2) BackupAction.StartBackup else BackupAction.IntroduceBackup
} else {
null
}
@ -520,8 +523,8 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction)
}
is CompletionResult.Failure -> Unit
}
tangemSdkManager.clearProductType()
}
tangemSdkManager.clearProductType()
}
is BackupAction.WriteBackupCard -> {
val cardIndex = if (action.cardNumber > 0) action.cardNumber - 1 else action.cardNumber
@ -557,8 +560,9 @@ private fun handleBackupAction(appState: () -> AppState?, action: BackupAction)
}
}
}
tangemSdkManager.clearProductType()
}
tangemSdkManager.clearProductType()
}
is BackupAction.DiscardBackup -> {
backupService.discardSavedBackup()
@ -679,7 +683,7 @@ internal fun gatherCardIds(backupState: BackupState, card: CardDTO?): List<Strin
private fun handleOnBackPressed(state: OnboardingWalletState) {
when (state.backupState.backupStep) {
BackupStep.InitBackup, BackupStep.ScanOriginCard, BackupStep.AddBackupCards, BackupStep.EnterAccessCode,
null, BackupStep.InitBackup, BackupStep.ScanOriginCard, BackupStep.AddBackupCards, BackupStep.EnterAccessCode,
BackupStep.ReenterAccessCode, BackupStep.SetAccessCode, BackupStep.WritePrimaryCard,
-> {
showInterruptOnboardingDialog()

View file

@ -80,7 +80,7 @@ private object OnboardingWallet2Reducer {
}
private object BackupReducer {
@Suppress("ComplexMethod")
@Suppress("ComplexMethod", "LongMethod")
fun reduce(action: BackupAction, state: BackupState): BackupState {
return when (action) {
is BackupAction.IntroduceBackup -> BackupState(
@ -88,8 +88,20 @@ private object BackupReducer {
maxBackupCards = 2,
canSkipBackup = state.canSkipBackup,
)
BackupAction.StartAddingPrimaryCard -> state.copy(backupStep = BackupStep.ScanOriginCard)
BackupAction.StartAddingBackupCards -> state.copy(backupStep = BackupStep.AddBackupCards)
BackupAction.StartAddingPrimaryCard -> {
state.copy(
backupStep = BackupStep.ScanOriginCard,
maxBackupCards = 2,
canSkipBackup = state.canSkipBackup,
)
}
BackupAction.StartAddingBackupCards -> {
state.copy(
backupStep = BackupStep.AddBackupCards,
maxBackupCards = 2,
canSkipBackup = state.canSkipBackup,
)
}
is BackupAction.AddBackupCard.Success -> {
state.copy(
backupCards = state.backupCards + action.card,

View file

@ -29,6 +29,7 @@ data class OnboardingWalletState(
OnboardingWalletStep.CreateWallet -> 1
OnboardingWalletStep.Backup -> {
when (backupState.backupStep) {
null -> 2
BackupStep.InitBackup -> 2
BackupStep.ScanOriginCard -> 3
BackupStep.AddBackupCards -> 4
@ -74,7 +75,7 @@ data class BackupState(
val backupCardsArtworks: Map<CardId, Bitmap> = emptyMap(),
val accessCode: String = "",
val accessCodeError: AccessCodeError? = null,
val backupStep: BackupStep = BackupStep.InitBackup,
val backupStep: BackupStep? = null,
val maxBackupCards: Int = 2,
val canSkipBackup: Boolean = true,
val isInterruptedBackup: Boolean = false,

View file

@ -249,6 +249,7 @@ class OnboardingWalletFragment :
private fun setBackupState(state: BackupState) {
when (state.backupStep) {
null -> Unit
BackupStep.InitBackup -> showBackupIntro(state)
BackupStep.ScanOriginCard -> showScanOriginCard()
BackupStep.AddBackupCards -> showAddBackupCards(state)
@ -453,7 +454,7 @@ class OnboardingWalletFragment :
} else {
val cardIdFormatter = CardIdFormatter(CardIdDisplayFormat.LastMasked(4))
getString(
R.string.onboarding_subtitle_scan_primary_card_format,
R.string.onboarding_subtitle_scan_backup_card_format,
state.primaryCardId?.let { cardIdFormatter.getFormattedCardId(it) },
)
}

View file

@ -565,7 +565,7 @@
<string name="reset_card_to_factory_condition_2">Je comprends que je ne peux pas utiliser cette carte pour récupérer mon code d\'accès sur les autres cartes du portefeuille actuel</string>
<string name="reset_card_with_backup_to_factory_message">La réinitialisation aux paramètres d\'usine supprimera complètement le portefeuille de la carte sélectionnée. Vous ne pourrez pas restaurer le portefeuille actuel ni utiliser la carte pour récupérer le code d\'accès.</string>
<string name="reset_card_without_backup_to_factory_message">La réinitialisation aux paramètres d\'usine supprimera complètement le portefeuille de la carte sélectionnée et le supprimera de l\'application. Vous ne pourrez pas restaurer le portefeuille actuel.</string>
<string name="ring_promo_text">Les propriétaires du Tangem Ring bénéficient de 3 échanges sans commission sur Changelly jusqu\'au 15/11 !</string>
<string name="ring_promo_text">Les propriétaires du Tangem Ring ont droit à 3 swap gratis sur Changelly jusqu\'au 15/11 !</string>
<string name="ring_promo_title">Échangez avec 0 %% de frais maintenant!</string>
<string name="russian_bank_card_warning_subtitle">Avez-vous une carte bancaire d\'un autre pays et un permis de séjour ou une inscription en dehors de la Fédération de Russie ?</string>
<string name="russian_bank_card_warning_title">Les cartes bancaires russes ne sont actuellement pas acceptées</string>

View file

@ -52,7 +52,7 @@
<string name="card_settings_action_sheet_reset">Сбросить</string>
<string name="card_settings_action_sheet_title">Вы уверены, что хотите это сделать?</string>
<string name="card_settings_change_access_code">Смена кода доступа</string>
<string name="card_settings_change_access_code_footer">Код доступа будет изменен только на данной карте</string>
<string name="card_settings_change_access_code_footer">Код доступа будет изменен только на данной карте или кольце</string>
<string name="card_settings_completed_reset_alert_message">Все устройства Tangem выбранного кошелька сброшены до заводских настроек, вы можете создать новый кошелек</string>
<string name="card_settings_completed_reset_alert_title">Сброс завершён</string>
<string name="card_settings_continue_reset_alert_message">Хотите сбросить следующее устройство от этого кошелька?</string>
@ -61,7 +61,7 @@
<string name="card_settings_interrupted_reset_alert_title">Вы сбросили не все Tangem устройства</string>
<string name="card_settings_reset_card_to_factory">Заводские настройки</string>
<string name="card_settings_security_mode">Тип безопасности</string>
<string name="card_settings_title">Настройки карты</string>
<string name="card_settings_title">Настройки устройства</string>
<string name="cardano_coin_will_be_send_with_token_description">Помимо сетевой комиссий, сеть Cardano взимает %1$s ADA при транзакции с токеном %2$s</string>
<string name="cardano_coin_will_be_send_with_token_title">Требования к транзакции Cardano</string>
<string name="cardano_insufficient_balance_to_send_token_description">Чтобы совершить транзакцию %1$s, внесите некоторую сумму ADA для покрытия сетевой комиссии и минимального значения ADA (рекомендуется 5 ADA)</string>
@ -223,7 +223,7 @@
<string name="details_referral_title">Реферальная программа</string>
<string name="details_row_description_flip_to_hide">Переверните экран вашего устройства вниз, чтобы быстро скрыть и отобразить балансы</string>
<string name="details_row_subtitle_signed_hashes_format">%s хэшей</string>
<string name="details_row_title_cid">Номер карты</string>
<string name="details_row_title_cid">Номер устройства</string>
<string name="details_row_title_contact_to_support">Обратиться в поддержку</string>
<string name="details_row_title_create_backup">Добавить еще карты</string>
<string name="details_row_title_currency">Валюта приложения</string>

View file

@ -50,7 +50,7 @@
<string name="card_settings_action_sheet_reset">Reset</string>
<string name="card_settings_action_sheet_title">Are you sure you want to do this?</string>
<string name="card_settings_change_access_code">Change Access Code</string>
<string name="card_settings_change_access_code_footer">Access code will be changed on this card only</string>
<string name="card_settings_change_access_code_footer">Access code will be changed on this card or ring only</string>
<string name="card_settings_completed_reset_alert_message">All Tangem devices in the selected wallet have been reset to factory settings. You can now create a new wallet.</string>
<string name="card_settings_completed_reset_alert_title">Reset complete</string>
<string name="card_settings_continue_reset_alert_message">Do you want to reset the next device in this wallet?</string>
@ -59,7 +59,7 @@
<string name="card_settings_interrupted_reset_alert_title">You haven\'t reset all your Tangem devices</string>
<string name="card_settings_reset_card_to_factory">Reset to Factory Settings</string>
<string name="card_settings_security_mode">Security Mode</string>
<string name="card_settings_title">Card settings</string>
<string name="card_settings_title">Device settings</string>
<string name="cardano_coin_will_be_send_with_token_description">In addition to network fee, the Cardano network charges %1$s ADA when transacting with the %2$s token</string>
<string name="cardano_coin_will_be_send_with_token_title">Cardano transaction requirements</string>
<string name="cardano_insufficient_balance_to_send_token_description">To make a %1$s transaction, you must deposit some ADA to cover the network fee and minimum ADA value (5 ADA recommended)</string>
@ -219,7 +219,7 @@
<string name="details_referral_title">Referral program</string>
<string name="details_row_description_flip_to_hide">Flip your device screen down to quickly hide and show balances</string>
<string name="details_row_subtitle_signed_hashes_format">%s hashes</string>
<string name="details_row_title_cid">Card ID</string>
<string name="details_row_title_cid">Device ID</string>
<string name="details_row_title_contact_to_support">Contact support</string>
<string name="details_row_title_create_backup">Link More Cards</string>
<string name="details_row_title_currency">App Currency</string>

View file

@ -91,7 +91,7 @@ markdownComposeView = "0.5.4"
# region Tangem
tangemBlockchainSdk = "release-app_5.16-813"
#tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds
tangemCardSdk = "release-app_5.16-389"
tangemCardSdk = "release-app_5.16-390"
#tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^
tangemVico = "2.0.0-alpha.25-tangem17"
#tangemVico = "0.0.1" # Keep it! - used for local builds ^