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( internal fun WalletDataModel.updateSelectedAddress(addressType: AddressType): WalletDataModel {
addressType: AddressType,
): WalletDataModel {
val addresses = walletAddresses ?: return this val addresses = walletAddresses ?: return this
val selectedAddress = addresses.list val selectedAddress = addresses.list
.firstOrNull { it.type == addressType } .firstOrNull { it.type == addressType }

View file

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