From 8d048abd51203ef99619395bd7bc48cd4d314d4e Mon Sep 17 00:00:00 2001 From: Tangem Date: Sun, 31 Oct 2021 17:38:30 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../products/note/OnboardingNoteFragment.kt | 25 +++++++++----- .../note/redux/OnboardingNoteState.kt | 6 ++++ .../products/twins/redux/TwinCardsState.kt | 6 ++++ .../products/twins/ui/TwinsCardsFragment.kt | 33 +++++++++++-------- .../main/res/values/strings_untranslated.xml | 3 ++ 5 files changed, 51 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/note/OnboardingNoteFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/note/OnboardingNoteFragment.kt index e0661b0359..644bf15d51 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/note/OnboardingNoteFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/note/OnboardingNoteFragment.kt @@ -137,15 +137,24 @@ class OnboardingNoteFragment : BaseOnboardingFragment() { } private fun setupTopUpWalletState(state: OnboardingNoteState) { - btn_main_action.setText(R.string.onboarding_top_up_button_but_crypto) - btn_main_action.setOnClickListener { - store.dispatch(OnboardingNoteAction.TopUp) - } + if (state.isBuyAllowed) { + btn_main_action.setText(R.string.onboarding_top_up_button_but_crypto) + btn_main_action.setOnClickListener { + store.dispatch(OnboardingNoteAction.TopUp) + } - btn_alternative_action.isVisible = true - btn_alternative_action.setText(R.string.onboarding_top_up_button_show_wallet_address) - btn_alternative_action.setOnClickListener { - store.dispatch(OnboardingNoteAction.ShowAddressInfoDialog) + btn_alternative_action.isVisible = true + btn_alternative_action.setText(R.string.onboarding_top_up_button_show_wallet_address) + btn_alternative_action.setOnClickListener { + store.dispatch(OnboardingNoteAction.ShowAddressInfoDialog) + } + } else { + btn_main_action.setText(R.string.onboarding_button_receive_crypto) + btn_main_action.setOnClickListener { + store.dispatch(OnboardingNoteAction.ShowAddressInfoDialog) + } + + btn_alternative_action.isVisible = false } tv_header.setText(R.string.onboarding_top_up_header) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt index 5bc772fa3a..5178c2eb72 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/note/redux/OnboardingNoteState.kt @@ -3,7 +3,9 @@ package com.tangem.tap.features.onboarding.products.note.redux import com.tangem.blockchain.common.WalletManager import com.tangem.tap.domain.TapError import com.tangem.tap.features.onboarding.OnboardingWalletBalance +import com.tangem.tap.store import org.rekotlin.StateType +import kotlin.properties.ReadOnlyProperty /** [REDACTED_AUTHOR] @@ -22,6 +24,10 @@ data class OnboardingNoteState( val progress: Int get() = steps.indexOf(currentStep) + + val isBuyAllowed: Boolean by ReadOnlyProperty { thisRef, property -> + store.state.globalState.moonPayUserStatus?.isBuyAllowed ?: false + } } enum class OnboardingNoteStep { diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt index 22834a920e..7e8cea4f57 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt @@ -5,7 +5,9 @@ import com.tangem.tap.domain.TapError import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.tap.domain.twins.TwinCardsManager import com.tangem.tap.features.onboarding.OnboardingWalletBalance +import com.tangem.tap.store import org.rekotlin.StateType +import kotlin.properties.ReadOnlyProperty /** [REDACTED_AUTHOR] @@ -52,6 +54,10 @@ data class TwinCardsState( val showAlert: Boolean get() = currentStep == TwinCardsStep.CreateSecondWallet || currentStep == TwinCardsStep.CreateThirdWallet + + val isBuyAllowed: Boolean by ReadOnlyProperty { thisRef, property -> + store.state.globalState.moonPayUserStatus?.isBuyAllowed ?: false + } } enum class CreateTwinWalletMode { CreateWallet, RecreateWallet } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt index a634d311c0..140211ceb8 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt @@ -14,7 +14,6 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.common.extensions.VoidCallback import com.tangem.tap.common.extensions.* import com.tangem.tap.common.leapfrogWidget.LeapfrogWidget -import com.tangem.tap.common.postUi import com.tangem.tap.common.redux.navigation.AppScreen import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.common.redux.navigation.ShareElement @@ -290,15 +289,24 @@ class TwinsCardsFragment : BaseOnboardingFragment() { } } - btn_main_action.setText(R.string.onboarding_top_up_button_but_crypto) - btn_main_action.setOnClickListener { - store.dispatch(TwinCardsAction.TopUp) - } + if (state.isBuyAllowed) { + btn_main_action.setText(R.string.onboarding_top_up_button_but_crypto) + btn_main_action.setOnClickListener { + store.dispatch(TwinCardsAction.TopUp) + } - btn_alternative_action.isVisible = true - btn_alternative_action.setText(R.string.onboarding_top_up_button_show_wallet_address) - btn_alternative_action.setOnClickListener { - store.dispatch(TwinCardsAction.ShowAddressInfoDialog) + btn_alternative_action.isVisible = true + btn_alternative_action.setText(R.string.onboarding_top_up_button_show_wallet_address) + btn_alternative_action.setOnClickListener { + store.dispatch(TwinCardsAction.ShowAddressInfoDialog) + } + } else { + btn_main_action.setText(R.string.onboarding_button_receive_crypto) + btn_main_action.setOnClickListener { + store.dispatch(TwinCardsAction.ShowAddressInfoDialog) + } + + btn_alternative_action.isVisible = false } tv_header.setText(R.string.onboarding_top_up_header) @@ -306,13 +314,10 @@ class TwinsCardsFragment : BaseOnboardingFragment() { btnRefreshBalanceWidget.changeState(state.walletBalance.state) if (btnRefreshBalanceWidget.isShowing != true) { - postUi(300) { - btnRefreshBalanceWidget.mainView.setOnClickListener { - store.dispatch(TwinCardsAction.Balance.Update) - } + btnRefreshBalanceWidget.mainView.setOnClickListener { + store.dispatch(TwinCardsAction.Balance.Update) } } - imv_card_background.setBackgroundDrawable(requireContext().getDrawableCompat(R.drawable.shape_rectangle_rounded_8)) updateConstraints(state.currentStep, R.layout.lp_onboarding_topup_wallet_twins) } diff --git a/app/src/main/res/values/strings_untranslated.xml b/app/src/main/res/values/strings_untranslated.xml index e0a8e57348..5e515d4049 100644 --- a/app/src/main/res/values/strings_untranslated.xml +++ b/app/src/main/res/values/strings_untranslated.xml @@ -176,6 +176,8 @@ Activating card How it works? + Receive crypto + Create a wallet Let’s generate all the keys on your card and create a secure wallet Create wallet @@ -195,6 +197,7 @@ If the process of re-creating the wallet gets interrupted in any way, you’ll have to start over. Internal error: can\'t create wallet manager + Blockchain is unreachable. Try later