Updated on 2026-08-14

This commit is contained in:
Tangem 2024-12-25 11:43:29 +05:00
parent ee4760b7e1
commit ea3a7c528e
4 changed files with 27 additions and 7 deletions

View file

@ -79,6 +79,7 @@ internal class WalletViewModel @Inject constructor(
private lateinit var router: InnerWalletRouter
private val walletsUpdateJobHolder = JobHolder()
private val refreshWalletJobHolder = JobHolder()
private val expressStatusJobHolder = JobHolder()
private var needToRefreshWallet = false
private var expressTxStatusTaskScheduler = SingleTaskScheduler<Unit>()
@ -233,10 +234,16 @@ internal class WalletViewModel @Inject constructor(
private fun subscribeToScreenBackgroundState() {
screenLifecycleProvider.isBackgroundState
.onEach { isBackground ->
expressTxStatusTaskScheduler.cancelTask()
expressStatusJobHolder.cancel()
refreshWalletJobHolder.cancel()
when {
isBackground -> needToRefreshTimer()
needToRefreshWallet && !isBackground -> triggerRefreshWalletQuotes()
needToRefreshWallet && !isBackground -> {
triggerRefreshWalletQuotes()
subscribeOnExpressTransactionsUpdates()
}
!isBackground -> subscribeOnExpressTransactionsUpdates()
}
}
.launchIn(viewModelScope)
@ -257,7 +264,7 @@ internal class WalletViewModel @Inject constructor(
onError = { /* no-op */ },
),
)
}
}.saveIn(expressStatusJobHolder)
}
private fun needToRefreshTimer() {