Updated on 2026-08-14

This commit is contained in:
Tangem 2022-03-17 22:26:18 +03:00
parent 2c17fd0161
commit 3dcd1ddb3d
6 changed files with 13 additions and 12 deletions

View file

@ -36,7 +36,7 @@ data class WalletState(
val walletManagers: List<WalletManager> = emptyList(),
val isMultiwalletAllowed: Boolean = false,
val cardCurrency: CryptoCurrencyName? = null,
val selectedWallet: Currency? = null,
val selectedCurrency: Currency? = null,
val primaryBlockchain: Blockchain? = null,
val primaryToken: Token? = null,
val isTestnet: Boolean = false,
@ -93,7 +93,7 @@ data class WalletState(
}
fun getSelectedWalletData(): WalletData? {
return walletsData.find { it.currency == selectedWallet }
return walletsData.find { it.currency == selectedCurrency }
}
fun canBeRemoved(walletData: WalletData?): Boolean {

View file

@ -203,7 +203,7 @@ class WalletMiddleware {
}
}
is WalletAction.ShowDialog.QrCode -> {
val selectedWalletData = walletState.getWalletData(walletState.selectedWallet) ?: return
val selectedWalletData = walletState.getWalletData(walletState.selectedCurrency) ?: return
val selectedAddressData = selectedWalletData.walletAddresses?.selectedAddress ?: return
val currency = selectedWalletData.currency

View file

@ -21,7 +21,7 @@ class MultiWalletReducer {
state.addWalletManagers(action.walletManagers)
}
is WalletAction.MultiWallet.AddBlockchains -> {
val wallets = action.blockchains.map { blockchain ->
val walletsData = action.blockchains.map { blockchain ->
val wallet = state.getWalletManager(blockchain)?.wallet
val cardToken = if (!state.isMultiwalletAllowed) {
wallet?.getFirstToken()?.symbol?.let { TokenData("", tokenSymbol = it) }
@ -41,14 +41,14 @@ class MultiWalletReducer {
)
}
val selectedWallet = if (!state.isMultiwalletAllowed) {
wallets[0].currency
val selectedCurrency = if (!state.isMultiwalletAllowed) {
walletsData[0].currency
} else {
state.selectedWallet
state.selectedCurrency
}
state.copy(
walletsData = wallets,
selectedWallet = selectedWallet
walletsData = walletsData,
selectedCurrency = selectedCurrency
)
}
is WalletAction.MultiWallet.AddBlockchain -> {
@ -115,7 +115,7 @@ class MultiWalletReducer {
state.copy(isMultiwalletAllowed = action.isMultiwalletAllowed)
is WalletAction.MultiWallet.SelectWallet ->
state.copy(selectedWallet = action.walletData?.currency)
state.copy(selectedCurrency = action.walletData?.currency)
is WalletAction.MultiWallet.RemoveWallet -> {
val wallets = state.walletsData.filterNot {

View file

@ -137,6 +137,7 @@ class OnWalletLoadedReducer {
val pendingTransactions = wallet.recentTransactions
.toPendingTransactions(wallet.address)
//TO:
val sendButtonEnabled = amount?.isZero() == false && pendingTransactions.isEmpty()
val balanceStatus = if (pendingTransactions.isNotEmpty()) {
BalanceStatus.TransactionInProgress

View file

@ -228,7 +228,7 @@ private fun internalReduce(action: Action, state: AppState): WalletState {
is WalletAction.Send.Cancel -> newState = newState.copy(walletDialog = null)
is WalletAction.TradeCryptoAction -> return newState
is WalletAction.ChangeSelectedAddress -> {
val selectedWalletData = newState.getWalletData(newState.selectedWallet)
val selectedWalletData = newState.getWalletData(newState.selectedCurrency)
val walletAddresses =
newState.getWalletData(selectedWalletData?.currency)?.walletAddresses

View file

@ -94,7 +94,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details),
override fun newState(state: WalletState) {
if (activity == null || view == null) return
if (state.selectedWallet == null) return
if (state.selectedCurrency == null) return
val selectedWallet = state.getSelectedWalletData() ?: return