diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorViewModel.kt b/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorViewModel.kt index b78e975ae6..7b07e7d471 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorViewModel.kt @@ -68,14 +68,12 @@ internal class AppCurrencySelectorViewModel @Inject constructor( .getOrNull() getSelectedAppCurrencyUseCase().collectLatest { maybeSelectedCurrency -> - maybeSelectedCurrency - .onRight { selectedCurrency -> - val selectedCurrencyIndex = availableCurrencies?.indexOfFirst { it == selectedCurrency } + val selectedCurrency = maybeSelectedCurrency.getOrNull() ?: return@collectLatest + val selectedCurrencyIndex = availableCurrencies?.indexOfFirst { it == selectedCurrency } - if (selectedCurrencyIndex != null && selectedCurrencyIndex != -1) { - stateController.updateStateWithSelectedCurrency(selectedCurrency, selectedCurrencyIndex) - } - } + if (selectedCurrencyIndex != null && selectedCurrencyIndex != -1) { + stateController.updateStateWithSelectedCurrency(selectedCurrency, selectedCurrencyIndex) + } } } } diff --git a/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt b/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt index 3ee7ad011b..1593e811f9 100644 --- a/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt @@ -288,6 +288,9 @@ internal class WalletSelectorMiddleware { } private fun refreshUserWalletsAmounts() { + val featureToggles = store.state.daggerGraphState.get(DaggerGraphState::walletFeatureToggles) + if (featureToggles.isRedesignedScreenEnabled) return + scope.launch { walletStoresManager.updateAmounts( userWallets = userWalletsListManager.userWallets.firstOrNull().orEmpty(), diff --git a/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt b/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt index d19842021e..7b669beb49 100644 --- a/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt +++ b/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt @@ -9,6 +9,7 @@ import com.tangem.domain.redux.ReduxStateHolder import com.tangem.domain.wallets.legacy.UserWalletsListManager import com.tangem.domain.wallets.legacy.WalletsStateHolder import com.tangem.tap.common.entities.FiatCurrency +import com.tangem.tap.common.extensions.dispatchOnMain import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.TangemSdkManager import com.tangem.tap.domain.tokens.UserTokensRepository @@ -53,13 +54,13 @@ class AppStateHolder @Inject constructor() : WalletsStateHolder, ReduxNavControl } override fun navigate(action: NavigationAction) { - mainStore?.dispatch(action) + mainStore?.dispatchOnMain(action) } override fun getBackStack(): List = mainStore?.state?.navigationState?.backStack.orEmpty() override fun popBackStack(screen: AppScreen?) { - mainStore?.dispatch(NavigationAction.PopBackTo(screen)) + mainStore?.dispatchOnMain(NavigationAction.PopBackTo(screen)) } override fun dispatch(action: Action) {