From 1d6c728e4d51f048d69f08c23292215dc4519839 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 18 Dec 2020 17:18:43 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../features/details/redux/DetailsAction.kt | 9 ++++---- .../redux/twins/CreateTwinWalletMiddleware.kt | 2 +- .../redux/twins/CreateTwinWalletReducer.kt | 21 +++++++++---------- .../features/details/ui/DetailsFragment.kt | 5 ++++- .../ui/twins/TwinWalletWarningFragment.kt | 11 +++++++--- .../features/wallet/redux/WalletMiddleware.kt | 2 +- .../main/res/values/strings_untranslated.xml | 2 +- 7 files changed, 30 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt index fcf3fcdbea..1e90daa2e1 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt @@ -45,15 +45,16 @@ sealed class DetailsAction : Action { } sealed class CreateTwinWalletAction : DetailsAction() { - object ShowWarning : CreateTwinWalletAction() + data class ShowWarning( + val twinCardNumber: TwinCardNumber?, + val createTwinWallet: CreateTwinWallet = CreateTwinWallet.RecreateWallet + ) : CreateTwinWalletAction() object NotEmpty : CreateTwinWalletAction(), NotificationAction { override val messageResource = R.string.details_notification_erase_wallet_not_possible } object ShowAlert : CreateTwinWalletAction() object HideAlert : CreateTwinWalletAction() - data class Proceed( - val twinCardNumber: TwinCardNumber?, val createTwinWallet: CreateTwinWallet - ) : CreateTwinWalletAction() + object Proceed: CreateTwinWalletAction() object Cancel : CreateTwinWalletAction() { object Confirm : CreateTwinWalletAction() diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt index 8ba375fea4..c2b5853228 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletMiddleware.kt @@ -17,7 +17,7 @@ class CreateTwinWalletMiddleware { var twinsManager: TwinCardsManager? = null fun handle(action: DetailsAction.CreateTwinWalletAction) { when (action) { - DetailsAction.CreateTwinWalletAction.ShowWarning -> { + is DetailsAction.CreateTwinWalletAction.ShowWarning -> { val wallet = store.state.detailsState.wallet val notEmpty = wallet?.recentTransactions?.isNullOrEmpty() != true || wallet.amounts.toSendableAmounts().isNotEmpty() diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletReducer.kt index 1a7abc6398..7de266d076 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletReducer.kt @@ -9,8 +9,15 @@ class CreateTwinWalletReducer { action: DetailsAction.CreateTwinWalletAction, state: DetailsState ): DetailsState { return when (action) { - DetailsAction.CreateTwinWalletAction.ShowWarning -> { - state + is DetailsAction.CreateTwinWalletAction.ShowWarning -> { + state.copy(createTwinWalletState = CreateTwinWalletState( + scanResponse = null, + twinCardNumber = action.twinCardNumber + ?: state.createTwinWalletState?.twinCardNumber, + createTwinWallet = action.createTwinWallet, + showAlert = false, + allowRecreatingWallet = state.createTwinWalletState?.allowRecreatingWallet + )) } DetailsAction.CreateTwinWalletAction.NotEmpty -> state DetailsAction.CreateTwinWalletAction.ShowAlert -> { @@ -24,15 +31,7 @@ class CreateTwinWalletReducer { )) } is DetailsAction.CreateTwinWalletAction.Proceed -> { - state.copy(createTwinWalletState = CreateTwinWalletState( - scanResponse = null, - twinCardNumber = action.twinCardNumber - ?: state.createTwinWalletState?.twinCardNumber, - createTwinWallet = action.createTwinWallet, - showAlert = false, - step = CreateTwinWalletStep.FirstStep, - allowRecreatingWallet = state.createTwinWalletState?.allowRecreatingWallet - )) + state } DetailsAction.CreateTwinWalletAction.Cancel -> state DetailsAction.CreateTwinWalletAction.Cancel.Confirm -> state diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt index 59cd043015..262482b360 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt @@ -13,6 +13,7 @@ import com.tangem.tap.domain.twins.isTwinCard import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.features.details.redux.SecurityOption +import com.tangem.tap.features.details.redux.twins.CreateTwinWallet import com.tangem.tap.store import com.tangem.wallet.R import kotlinx.android.synthetic.main.fragment_details.* @@ -84,7 +85,9 @@ class DetailsFragment : Fragment(R.layout.fragment_details), StoreSubscriber { if (store.state.walletState.twinCardsState != null) { - store.dispatch(DetailsAction.CreateTwinWalletAction.Proceed( + store.dispatch(DetailsAction.CreateTwinWalletAction.ShowWarning( store.state.globalState.scanNoteResponse?.card?.cardId?.let { TwinsHelper.getTwinCardNumber(it) }, diff --git a/app/src/main/res/values/strings_untranslated.xml b/app/src/main/res/values/strings_untranslated.xml index f1597e5c14..cbee4d51ec 100644 --- a/app/src/main/res/values/strings_untranslated.xml +++ b/app/src/main/res/values/strings_untranslated.xml @@ -18,7 +18,7 @@ this wallet. Re-create wallet Step %s Tap the #%s twin card - The wallet creation procedure consists of three steps. You must complete it to the end, otherwise you will have to start from the beginning. + The wallet creation procedure consists of three steps. You must complete it to the end, otherwise you will have to start from the beginning. Tap the card #%s You have already started the process of recreating twin wallet. If you interrupt it, you won\'t be able to use your twin cards until you start it again and complete recreating the wallet.