diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt index eda197d115..c815b4b404 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt @@ -26,7 +26,12 @@ import com.tangem.tap.domain.extensions.toSendableAmounts import com.tangem.tap.domain.tokens.BlockchainNetwork import com.tangem.tap.features.onboarding.products.twins.redux.TwinCardsState import com.tangem.tap.features.tokens.redux.TokenWithBlockchain -import com.tangem.tap.features.wallet.models.* +import com.tangem.tap.features.wallet.models.PendingTransaction +import com.tangem.tap.features.wallet.models.TotalBalance +import com.tangem.tap.features.wallet.models.WalletRent +import com.tangem.tap.features.wallet.models.WalletWarning +import com.tangem.tap.features.wallet.models.toPendingTransactions +import com.tangem.tap.features.wallet.models.toPendingTransactionsForToken import com.tangem.tap.features.wallet.ui.BalanceStatus import com.tangem.tap.features.wallet.ui.BalanceWidgetData import com.tangem.tap.network.exchangeServices.CurrencyExchangeManager @@ -278,7 +283,7 @@ data class WalletState( } fun updateTotalBalance( - totalBalance: TotalBalance + totalBalance: TotalBalance? ): WalletState { return this.copy( totalBalance = totalBalance diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/TotalBalanceOperations.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/TotalBalanceOperations.kt index c7169452ee..b949fe11d9 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/TotalBalanceOperations.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/TotalBalanceOperations.kt @@ -9,12 +9,14 @@ import java.math.BigDecimal fun obtainTotalBalance( wallets: List, appCurrency: FiatCurrency -): TotalBalance { - return TotalBalance( - state = wallets.findTotalBalanceState(), - fiatAmount = wallets.calculateTotalFiatAmount(), - fiatCurrency = appCurrency - ) +): TotalBalance? { + return if (wallets.isNotEmpty()) { + TotalBalance( + state = wallets.findTotalBalanceState(), + fiatAmount = wallets.calculateTotalFiatAmount(), + fiatCurrency = appCurrency + ) + } else null } private fun List.findTotalBalanceState(): TotalBalance.State { diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt index 271f6bb67b..8c4a49b1fb 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/MultiWalletView.kt @@ -55,7 +55,6 @@ class MultiWalletView : WalletView { btnScanMultiwallet.show() rvMultiwallet.show() btnAddToken.show() - lCardTotalBalance.root.show() setupWalletCardNumber(binding) } @@ -102,7 +101,7 @@ class MultiWalletView : WalletView { val fragment = fragment ?: return val binding = binding ?: return - state.totalBalance?.let { handleTotalBalance(binding, it) } + handleTotalBalance(binding, state.totalBalance) walletsAdapter.submitList(state.walletsData, state.primaryBlockchain, state.primaryToken) binding.btnAddToken.setOnClickListener { @@ -135,8 +134,13 @@ class MultiWalletView : WalletView { private fun handleTotalBalance( binding: FragmentWalletBinding, - totalBalance: TotalBalance, + totalBalance: TotalBalance?, ) = with(binding.lCardTotalBalance) { + if (totalBalance == null) { + this.root.hide() + return@with + } + tvBalance.animateVisibility( show = totalBalance.state != TotalBalance.State.Loading, hiddenVisibility = View.INVISIBLE