Updated on 2026-08-14

This commit is contained in:
Tangem 2023-04-21 14:20:42 +03:00
parent 8f2be76adf
commit dcd2946983
2 changed files with 10 additions and 11 deletions

View file

@ -213,9 +213,7 @@ internal fun List<WalletDataModel>.updateSelectedAddress(
}
}
internal fun WalletDataModel.updateSelectedAddress(
addressType: AddressType,
): WalletDataModel {
internal fun WalletDataModel.updateSelectedAddress(addressType: AddressType): WalletDataModel {
val addresses = walletAddresses ?: return this
val selectedAddress = addresses.list
.firstOrNull { it.type == addressType }

View file

@ -35,6 +35,11 @@ import com.tangem.wallet.databinding.FragmentWalletBinding
class SingleWalletView : WalletView() {
private lateinit var pendingTransactionAdapter: PendingTransactionsAdapter
// FIXME: Move to model watcher
private var watchedPrimaryWalletForAddressCard: WalletDataModel? = null
private var watchedPrimaryWalletForBalance: WalletDataModel? = null
override fun changeWalletView(fragment: WalletFragment, binding: FragmentWalletBinding) {
setFragment(fragment, binding)
onViewCreated()
@ -88,11 +93,9 @@ class SingleWalletView : WalletView() {
binding?.rvPendingTransaction?.show(knownTransactions.isNotEmpty())
}
// FIXME: Move to model watcher
private var watchedPrimaryWallet: WalletDataModel? = null
private fun setupBalance(state: WalletState, primaryWallet: WalletDataModel) {
if (watchedPrimaryWallet == primaryWallet) return
watchedPrimaryWallet = primaryWallet
if (watchedPrimaryWalletForBalance == primaryWallet) return
watchedPrimaryWalletForBalance = primaryWallet
val fragment = fragment ?: return
binding?.apply {
@ -183,12 +186,10 @@ class SingleWalletView : WalletView() {
}
}
// FIXME: Move to model watcher
private var watchedPrimaryWallet: WalletDataModel? = null
private fun setupAddressCard(state: WalletState, binding: FragmentWalletBinding) = with(binding.lAddress) {
val primaryWallet = state.primaryWalletData
if (primaryWallet == watchedPrimaryWallet) return@with
watchedPrimaryWallet = primaryWallet
if (primaryWallet == watchedPrimaryWalletForAddressCard) return@with
watchedPrimaryWalletForAddressCard = primaryWallet
if (primaryWallet?.walletAddresses != null && primaryWallet.currency is Currency.Blockchain) {
binding.lAddress.root.show()