From eb290ea97cbc02389c9c0080228a2c79ec9f2147 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 20 Feb 2024 14:58:32 +0000 Subject: [PATCH] Updated on 2026-08-14 --- .../tokens/UpdateDelayedNetworkStatusUseCase.kt | 2 +- .../viewmodels/TokenDetailsViewModel.kt | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/UpdateDelayedNetworkStatusUseCase.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/UpdateDelayedNetworkStatusUseCase.kt index 1991a33bf8..26d641497a 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/UpdateDelayedNetworkStatusUseCase.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/UpdateDelayedNetworkStatusUseCase.kt @@ -33,7 +33,7 @@ class UpdateDelayedNetworkStatusUseCase( suspend operator fun invoke( userWalletId: UserWalletId, network: Network, - delayMillis: Long, + delayMillis: Long = 0L, refresh: Boolean = false, ): Either { delay(delayMillis) diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt index 382d9ca76e..fbdbcf8273 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt @@ -43,6 +43,7 @@ import com.tangem.domain.wallets.usecase.GetSelectedWalletSyncUseCase import com.tangem.domain.wallets.usecase.GetUserWalletUseCase import com.tangem.feature.swap.domain.SwapTransactionRepository import com.tangem.feature.swap.domain.api.SwapRepository +import com.tangem.feature.swap.domain.models.domain.ExchangeStatus import com.tangem.feature.tokendetails.presentation.router.InnerTokenDetailsRouter import com.tangem.feature.tokendetails.presentation.tokendetails.analytics.TokenDetailsCurrencyStatusAnalyticsSender import com.tangem.feature.tokendetails.presentation.tokendetails.analytics.TokenDetailsNotificationsAnalyticsSender @@ -84,6 +85,7 @@ internal class TokenDetailsViewModel @Inject constructor( private val getExplorerTransactionUrlUseCase: GetExplorerTransactionUrlUseCase, private val getSelectedWalletSyncUseCase: GetSelectedWalletSyncUseCase, private val shouldShowSwapPromoTokenUseCase: ShouldShowSwapPromoTokenUseCase, + private val updateDelayedCurrencyStatusUseCase: UpdateDelayedNetworkStatusUseCase, private val swapRepository: SwapRepository, private val swapTransactionRepository: SwapTransactionRepository, private val quotesRepository: QuotesRepository, @@ -301,6 +303,9 @@ internal class TokenDetailsViewModel @Inject constructor( val config = uiState.bottomSheetConfig val exchangeBottomSheet = config?.content as? ExchangeStatusBottomSheetConfig val currentTx = swapTxs.firstOrNull { it.txId == exchangeBottomSheet?.value?.txId } + if (currentTx?.activeStatus == ExchangeStatus.Finished) { + updateNetworkToSwapBalance(currentTx.toCryptoCurrency) + } uiState = uiState.copy( swapTxs = swapTxs, bottomSheetConfig = currentTx?.let( @@ -309,6 +314,16 @@ internal class TokenDetailsViewModel @Inject constructor( ) } + private fun updateNetworkToSwapBalance(toCryptoCurrency: CryptoCurrency) { + viewModelScope.launch { + updateDelayedCurrencyStatusUseCase( + userWalletId = userWalletId, + network = toCryptoCurrency.network, + refresh = true, + ) + } + } + /** * @param refresh - invalidate cache and get data from remote * @param showItemsLoading - show loading items placeholder.