From f3e8ccb3bedbf1068fe492a218a35225d79f8e5a Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 11 Nov 2020 10:13:15 +0300 Subject: [PATCH] Updated on 2026-08-14 --- app/src/main/java/com/tangem/tap/TapConfig.kt | 1 + .../com/tangem/tap/domain/TapWalletManager.kt | 9 ++++--- .../tap/features/wallet/redux/WalletAction.kt | 8 +++--- .../features/wallet/redux/WalletReducer.kt | 26 +++++++------------ 4 files changed, 20 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/TapConfig.kt b/app/src/main/java/com/tangem/tap/TapConfig.kt index a90d1d36df..9470f2935d 100644 --- a/app/src/main/java/com/tangem/tap/TapConfig.kt +++ b/app/src/main/java/com/tangem/tap/TapConfig.kt @@ -2,6 +2,7 @@ package com.tangem.tap object TapConfig { const val usePayId: Boolean = true + const val useTopUp: Boolean = true const val coinMarketCapKey = "f6622117-c043-47a0-8975-9d673ce484de" const val moonPayApiKey = "pk_test_kc90oYTANy7UQdBavDKGfL4K9l6VEPE" const val moonPayApiSecretKey = "sk_test_V8w4M19LbDjjYOt170s0tGuvXAgyEb1C" diff --git a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt index c553e71540..f8550428d9 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -57,9 +57,7 @@ class TapWalletManager { withContext(Dispatchers.Main) { when (result) { is Result.Success -> - store.dispatch(WalletAction.UpdateWallet.Success( - result.data, tapWorkarounds?.isStart2Coin != true - )) + store.dispatch(WalletAction.UpdateWallet.Success(result.data)) is Result.Failure -> store.dispatch(WalletAction.UpdateWallet.Failure(result.error?.localizedMessage)) } @@ -103,7 +101,10 @@ class TapWalletManager { store.dispatch(WalletAction.LoadData.Failure(TapError.NoInternetConnection)) return@withContext } - store.dispatch(WalletAction.LoadWallet) + store.dispatch(WalletAction.LoadWallet( + data.walletManager.wallet, data.verifyResponse?.artworkInfo?.id, + tapWorkarounds?.isStart2Coin != true && TapConfig.useTopUp + )) store.dispatch(WalletAction.LoadArtwork(data.card, artworkId)) store.dispatch(WalletAction.LoadFiatRate) store.dispatch(WalletAction.LoadPayId) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt index 97e1752ed7..5ac957f1f4 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt @@ -20,7 +20,9 @@ sealed class WalletAction : Action { data class Failure(val error: TapError) : WalletAction() } - object LoadWallet : WalletAction() { + data class LoadWallet( + val wallet: Wallet, val artworkId: String?, val allowTopUp: Boolean + ) : WalletAction() { data class Success(val wallet: Wallet) : WalletAction() data class NoAccount(val amountToCreateAccount: String) : WalletAction() data class Failure(val errorMessage: String? = null) : WalletAction() @@ -35,7 +37,7 @@ sealed class WalletAction : Action { object UpdateWallet : WalletAction() { object ScheduleUpdatingWallet : WalletAction() - data class Success(val wallet: Wallet, val topUpAllowed: Boolean) : WalletAction() + data class Success(val wallet: Wallet) : WalletAction() data class Failure(val errorMessage: String? = null) : WalletAction() } @@ -50,7 +52,7 @@ sealed class WalletAction : Action { object Failure : WalletAction() } - object DisablePayId: WalletAction() + object DisablePayId : WalletAction() data class LoadArtwork(val card: Card, val artworkId: String?) : WalletAction() { data class Success(val artwork: Artwork) : WalletAction() diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt index 5c495ef9b1..3770fbb499 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt @@ -70,14 +70,8 @@ private fun internalReduce(action: Action, state: AppState): WalletState { } is WalletAction.LoadWallet -> { - val wallet = state.globalState.scanNoteResponse?.walletManager?.wallet - val addressData = if (wallet == null) { - null - } else { - AddressData(wallet.address, wallet.shareUrl, wallet.exploreUrl) - } - val currentArtworkId = state.globalState.scanNoteResponse?.verifyResponse?.artworkInfo?.id - val cardImage = if (newState.cardImage?.artworkId == currentArtworkId) { + val wallet = action.wallet + val cardImage = if (newState.cardImage?.artworkId == action.artworkId) { newState.cardImage } else { null @@ -87,15 +81,15 @@ private fun internalReduce(action: Action, state: AppState): WalletState { cardImage = cardImage, currencyData = BalanceWidgetData( BalanceStatus.Loading, - wallet?.blockchain?.fullName, - currencySymbol = wallet?.blockchain?.currency, - token = wallet?.token?.symbol?.let { + wallet.blockchain.fullName, + currencySymbol = wallet.blockchain.currency, + token = wallet.token?.symbol?.let { TokenData("", tokenSymbol = it) } ), - addressData = addressData, - mainButton = WalletMainButton.SendButton(false) - + addressData = AddressData(wallet.address, wallet.shareUrl, wallet.exploreUrl), + mainButton = WalletMainButton.SendButton(false), + topUpState = TopUpState(allowed = action.allowTopUp) ) } is WalletAction.LoadWallet.Success -> newState = onWalletLoaded(action.wallet, newState) @@ -257,7 +251,6 @@ private fun onWalletLoaded( } else { BalanceStatus.VerifiedOnline } - val topUpState = topUpAllowed?.let { TopUpState(topUpAllowed) } ?: walletState.topUpState return walletState.copy( state = ProgressState.Done, wallet = wallet, currencyData = BalanceWidgetData( @@ -268,7 +261,6 @@ private fun onWalletLoaded( fiatAmount = fiatAmount ), pendingTransactions = pendingTransactions.removeUnknownTransactions(), - mainButton = WalletMainButton.SendButton(sendButtonEnabled), - topUpState = topUpState + mainButton = WalletMainButton.SendButton(sendButtonEnabled) ) } \ No newline at end of file