From cc8f2667776e4cb0b439ccfa4e243d554e97695d Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 4 Feb 2021 18:22:38 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tap/common/redux/global/GlobalAction.kt | 2 ++ .../tap/common/redux/global/GlobalReducer.kt | 19 +++++++++++++++++++ .../details/redux/DetailsMiddleware.kt | 3 +++ 3 files changed, 24 insertions(+) diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt index 9fb73bdfcb..fc4f5bba9e 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt @@ -2,6 +2,7 @@ package com.tangem.tap.common.redux.global import com.tangem.tap.domain.config.ConfigManager import com.tangem.tap.domain.tasks.ScanNoteResponse +import com.tangem.tap.features.details.redux.SecurityOption import org.rekotlin.Action import java.math.BigDecimal @@ -17,4 +18,5 @@ sealed class GlobalAction : Action { } data class UpdateWalletSignedHashes(val walletSignedHashes: Int?) : GlobalAction() data class SetConfigManager(val configManager: ConfigManager) : GlobalAction() + data class UpdateSecurityOptions(val securityOption: SecurityOption) : GlobalAction() } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt index 2b27751177..7ab9334181 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalReducer.kt @@ -1,6 +1,7 @@ package com.tangem.tap.common.redux.global import com.tangem.tap.common.redux.AppState +import com.tangem.tap.features.details.redux.SecurityOption import org.rekotlin.Action fun globalReducer(action: Action, state: AppState): GlobalState { @@ -36,6 +37,24 @@ fun globalReducer(action: Action, state: AppState): GlobalState { is GlobalAction.SetConfigManager -> { globalState.copy(configManager = action.configManager) } + is GlobalAction.UpdateSecurityOptions -> { + val card = when (action.securityOption) { + SecurityOption.LongTap -> globalState.scanNoteResponse?.card?.copy( + isPin1Default = true, isPin2Default = true + ) + SecurityOption.PassCode -> globalState.scanNoteResponse?.card?.copy( + isPin1Default = true, isPin2Default = false + ) + SecurityOption.AccessCode -> globalState.scanNoteResponse?.card?.copy( + isPin1Default = false, isPin2Default = true + ) + } + if (card != null) { + globalState.copy(scanNoteResponse = globalState.scanNoteResponse?.copy(card = card)) + } else { + globalState + } + } else -> globalState } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt index d603c66c39..95a0a3952c 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt @@ -140,6 +140,9 @@ class DetailsMiddleware { withContext(Dispatchers.Main) { when (result) { is CompletionResult.Success -> { + selectedOption?.let { + store.dispatch(GlobalAction.UpdateSecurityOptions(it)) + } if (selectedOption != SecurityOption.LongTap) { store.dispatch(NavigationAction.PopBackTo()) }