Updated on 2026-08-14

This commit is contained in:
Tangem 2026-03-13 11:01:35 +04:00
parent 4f3ff79ac9
commit 158fd355de
9 changed files with 40 additions and 200 deletions

View file

@ -18,7 +18,7 @@ import com.tangem.domain.models.wallet.UserWalletId
import com.tangem.domain.models.wallet.isLocked
import com.tangem.domain.models.wallet.isMultiCurrency
import com.tangem.domain.notifications.models.NotificationType
import com.tangem.domain.tokens.FetchCurrencyStatusUseCase
import com.tangem.domain.account.status.utils.CryptoCurrencyBalanceFetcher
import com.tangem.domain.tokens.wallet.WalletBalanceFetcher
import com.tangem.domain.wallets.usecase.GetUserWalletUseCase
import com.tangem.domain.wallets.usecase.SelectWalletUseCase
@ -40,7 +40,7 @@ internal class DefaultTokenDetailsDeepLinkHandler @AssistedInject constructor(
@Assisted private val isFromOnNewIntent: Boolean,
private val appRouter: AppRouter,
private val selectWalletUseCase: SelectWalletUseCase,
private val fetchCurrencyStatusUseCase: FetchCurrencyStatusUseCase,
private val cryptoCurrencyBalanceFetcher: CryptoCurrencyBalanceFetcher,
private val tokenDetailsDeepLinkActionTrigger: TokenDetailsDeepLinkActionTrigger,
private val walletDeepLinkActionTrigger: WalletDeepLinkActionTrigger,
private val analyticsEventHandler: AnalyticsEventHandler,
@ -122,9 +122,9 @@ internal class DefaultTokenDetailsDeepLinkHandler @AssistedInject constructor(
userWallet is UserWallet.Cold &&
userWallet.scanResponse.cardTypesResolver.isSingleWalletWithToken()
when {
isMultiCurrency -> fetchCurrencyStatusUseCase.invoke(
isMultiCurrency -> cryptoCurrencyBalanceFetcher(
userWalletId = userWallet.walletId,
id = cryptoCurrency.id,
currency = cryptoCurrency,
)
!isMultiCurrency -> walletBalanceFetcher(
params = WalletBalanceFetcher.Params(

View file

@ -35,6 +35,7 @@ import com.tangem.core.ui.haptic.VibratorHapticManager
import com.tangem.core.ui.message.SnackbarMessage
import com.tangem.domain.account.status.usecase.GetAccountCurrencyStatusUseCase
import com.tangem.domain.account.status.usecase.ManageCryptoCurrenciesUseCase
import com.tangem.domain.account.status.utils.CryptoCurrencyBalanceFetcher
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
import com.tangem.domain.appcurrency.model.AppCurrency
import com.tangem.domain.balancehiding.GetBalanceHidingSettingsUseCase
@ -110,7 +111,7 @@ import javax.inject.Inject
internal class TokenDetailsModel @Inject constructor(
override val dispatchers: CoroutineDispatcherProvider,
private val getSelectedAppCurrencyUseCase: GetSelectedAppCurrencyUseCase,
private val fetchCurrencyStatusUseCase: FetchCurrencyStatusUseCase,
private val cryptoCurrencyBalanceFetcher: CryptoCurrencyBalanceFetcher,
private val getExploreUrlUseCase: GetExploreUrlUseCase,
private val getCryptoCurrencyActionsUseCase: GetCryptoCurrencyActionsUseCase,
private val isCryptoCurrencyCoinCouldHideUseCase: IsCryptoCurrencyCoinCouldHideUseCase,
@ -838,7 +839,9 @@ internal class TokenDetailsModel @Inject constructor(
modelScope.launch(dispatchers.main) {
listOf(
async { fetchCurrencyStatusUseCase(userWalletId = userWalletId, id = cryptoCurrency.id) },
async {
cryptoCurrencyBalanceFetcher.invokeAndAwait(userWalletId = userWalletId, currency = cryptoCurrency)
},
async {
updateTxHistory()
subscribeOnExpressTransactionsUpdates()