Updated on 2026-08-14

This commit is contained in:
Tangem 2024-08-28 16:06:16 +04:00
parent 36394c1130
commit bdc390ecd5
2 changed files with 9 additions and 1 deletions

View file

@ -30,6 +30,9 @@ internal class WalletStateController @Inject constructor() {
val value: WalletScreenState get() = uiState.value
val isInitialized: Boolean
get() = value.selectedWalletIndex != NOT_INITIALIZED_WALLET_INDEX
private val mutableUiState: MutableStateFlow<WalletScreenState> = MutableStateFlow(value = getInitialState())
fun update(function: (WalletScreenState) -> WalletScreenState) {

View file

@ -7,7 +7,10 @@ import androidx.lifecycle.viewModelScope
import arrow.core.getOrElse
import com.tangem.core.analytics.api.AnalyticsEventHandler
import com.tangem.domain.balancehiding.GetBalanceHidingSettingsUseCase
import com.tangem.domain.settings.*
import com.tangem.domain.settings.CanUseBiometryUseCase
import com.tangem.domain.settings.IsWalletsScrollPreviewEnabled
import com.tangem.domain.settings.ShouldAskPermissionUseCase
import com.tangem.domain.settings.ShouldShowSaveWalletScreenUseCase
import com.tangem.domain.tokens.RefreshMultiCurrencyWalletQuotesUseCase
import com.tangem.domain.wallets.models.UserWalletId
import com.tangem.domain.wallets.usecase.GetSelectedWalletUseCase
@ -190,6 +193,8 @@ internal class WalletViewModel @Inject constructor(
/** Change selected wallet state if selected wallet [selectedWalletId] was changed in the background */
private suspend fun changeSelectedWalletState(selectedWalletId: UserWalletId) {
if (!stateHolder.isInitialized) return
if (screenLifecycleProvider.isBackgroundState.value && selectedWalletId != stateHolder.getSelectedWalletId()) {
stateHolder.value.wallets
.indexOfFirstOrNull { prevState -> prevState.walletCardState.id == selectedWalletId }