From f5b34ec8854040966af770fc8805fe95a4b226dc Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Sep 2021 11:17:46 +0300 Subject: [PATCH 1/2] Updated on 2026-08-14 --- .../tap/features/details/redux/DetailsReducer.kt | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt index 132dbddb18..33c71239fb 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt @@ -175,12 +175,18 @@ private fun handleSecurityAction( state.copy(confirmScreenState = confirmScreenState) } is DetailsAction.ManageSecurity.SaveChanges.Success -> { - // Setting options to show only LongTap from now on + // Setting options to show only LongTap from now on for non-twins + val card = if (state.card?.isTwinCard() == true) { + state.card + } else { + state.card?.copy(isPin1Default = true, isPin2Default = true) + } state.copy( - card = state.card?.copy(isPin1Default = true, isPin2Default = true), + card = card, securityScreenState = state.securityScreenState?.copy( currentOption = state.securityScreenState.selectedOption, - allowedOptions = EnumSet.of(SecurityOption.LongTap) + allowedOptions = card?.let { prepareAllowedSecurityOptions(it) } + ?: EnumSet.of(SecurityOption.LongTap) )) } @@ -194,6 +200,9 @@ private fun prepareAllowedSecurityOptions(card: Card): EnumSet { val isDefaultPin2 = card.isPin2Default != false val allowedSecurityOptions = EnumSet.noneOf(SecurityOption::class.java) + if (card.isTwinCard()) { + allowedSecurityOptions.add(SecurityOption.PassCode) + } if ((isDefaultPin1 && isDefaultPin2) || !prohibitDefaultPin) { allowedSecurityOptions.add(SecurityOption.LongTap) } From 520ac11b5626ef2e5d19c90e7f797005c823845f Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 22 Sep 2021 11:30:27 +0300 Subject: [PATCH 2/2] Updated on 2026-08-14 --- .../features/wallet/redux/middlewares/WalletMiddleware.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt index 183d55ddda..f1e3d5c0ae 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt @@ -105,8 +105,14 @@ class WalletMiddleware { ) when (result) { is CompletionResult.Success -> { + val card = globalState?.scanNoteResponse?.card?.let { + result.data.copy( + isPin1Default = it.isPin1Default, + isPin2Default = it.isPin2Default, + ) + } ?: result.data val scanNoteResponse = - globalState?.scanNoteResponse?.copy(card = result.data) + globalState?.scanNoteResponse?.copy(card = card) scanNoteResponse?.let { globalState.tapWalletManager.onCardScanned(scanNoteResponse) }