From c1469cb09bb05c221e0e91b36cced1a8d3a44489 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 20 Jun 2025 14:07:58 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../staking/impl/presentation/model/StakingModel.kt | 9 +++++++-- .../presentation/state/helpers/StakingBalanceUpdater.kt | 8 +------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt index 82db22b95a..2454768e9c 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/model/StakingModel.kt @@ -165,6 +165,7 @@ internal class StakingModel @Inject constructor( } private var isInitialInfoAnalyticSent: Boolean = false + private var isBalanceUpdatedAfterStart: Boolean = false private val balanceUpdater by lazy(LazyThreadSafetyMode.NONE) { stakingBalanceUpdater.create( @@ -421,7 +422,7 @@ internal class StakingModel @Inject constructor( override fun onRefreshSwipe(isRefreshing: Boolean) { stateController.update(SetInitialLoadingStateTransformer(isRefreshing)) coroutineScope.launch { - balanceUpdater.updatePullToRefresh() + balanceUpdater.partialUpdate() }.invokeOnCompletion { stateController.update(SetInitialLoadingStateTransformer(false)) } @@ -1011,7 +1012,11 @@ internal class StakingModel @Inject constructor( when { isInitState() -> { updateInitialData(status) - balanceUpdater.updateAfterNavigationToInitial() + + if (!isBalanceUpdatedAfterStart) { + isBalanceUpdatedAfterStart = true + balanceUpdater.partialUpdate() + } } isAssentState() -> { getFee() diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingBalanceUpdater.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingBalanceUpdater.kt index 22e12b38e9..0bb0d545b7 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingBalanceUpdater.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingBalanceUpdater.kt @@ -51,7 +51,7 @@ internal class StakingBalanceUpdater @AssistedInject constructor( } } - suspend fun updatePullToRefresh() { + suspend fun partialUpdate() { coroutineScope { listOf( async { @@ -64,12 +64,6 @@ internal class StakingBalanceUpdater @AssistedInject constructor( } } - suspend fun updateAfterNavigationToInitial() { - coroutineScope { - async { updateStakingActions() }.await() - } - } - private suspend fun fetchCurrencyStatus(delayMillis: Long = 0L) { delay(delayMillis) fetchCurrencyStatusUseCase(