diff --git a/app/src/main/java/com/tangem/tap/TapApplication.kt b/app/src/main/java/com/tangem/tap/TapApplication.kt index f8efc046b2..58a834e134 100644 --- a/app/src/main/java/com/tangem/tap/TapApplication.kt +++ b/app/src/main/java/com/tangem/tap/TapApplication.kt @@ -53,7 +53,7 @@ import com.tangem.tap.features.customtoken.api.featuretoggles.CustomTokenFeature import com.tangem.tap.features.tokens.api.featuretoggles.TokensListFeatureToggles import com.tangem.tap.persistence.PreferencesStorage import com.tangem.tap.proxy.AppStateHolder -import com.tangem.tap.proxy.redux.DaggerGraphAction +import com.tangem.tap.proxy.redux.DaggerGraphState import com.tangem.wallet.BuildConfig import dagger.hilt.android.HiltAndroidApp import kotlinx.coroutines.launch @@ -142,7 +142,14 @@ class TapApplication : Application(), ImageLoaderFactory { appReducer(action, state, appStateHolder) }, middleware = AppState.getMiddleware(), - state = AppState(), + state = AppState( + daggerGraphState = DaggerGraphState( + assetReader = assetReader, + networkConnectionManager = networkConnectionManager, + tokensListFeatureToggles = tokensListFeatureToggles, + customTokenFeatureToggles = customTokenFeatureToggles, + ), + ), ) if (BuildConfig.DEBUG) { @@ -178,15 +185,6 @@ class TapApplication : Application(), ImageLoaderFactory { appStateHolder.userTokensRepository = userTokensRepository appStateHolder.walletStoresManager = walletStoresManager - store.dispatch( - action = DaggerGraphAction.SetApplicationDependencies( - assetReader = assetReader, - networkConnectionManager = networkConnectionManager, - tokensListFeatureToggles = tokensListFeatureToggles, - customTokenFeatureToggles = customTokenFeatureToggles, - ), - ) - scope.launch { featureTogglesManager.init() } diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt index ce2e4ea085..ded1be23f3 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt @@ -105,14 +105,12 @@ internal class WalletViewModel @Inject constructor( private fun bootstrapSelectedWalletStoresChanges(manager: UserWalletsListManager) { observeWalletStoresUpdatesJob = manager.selectedUserWallet .map { it.walletId } - .flatMapLatest { selectedUserWalletId -> - walletStoresManager.get(selectedUserWalletId) - } + .flatMapLatest(walletStoresManager::get) .debounce { walletStores -> if (walletStores.isNotEmpty()) WALLET_STORES_DEBOUNCE_TIMEOUT else 0 } .onEach { walletStores -> - store.dispatch(WalletAction.WalletStoresChanged(walletStores)) + store.dispatchOnMain(WalletAction.WalletStoresChanged(walletStores)) } .launchIn(viewModelScope) } diff --git a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphAction.kt b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphAction.kt index 65a4cdb3e9..2952ed0257 100644 --- a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphAction.kt +++ b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphAction.kt @@ -1,20 +1,9 @@ package com.tangem.tap.proxy.redux -import com.tangem.datasource.asset.AssetReader -import com.tangem.datasource.connection.NetworkConnectionManager import com.tangem.features.tester.api.TesterRouter -import com.tangem.tap.features.customtoken.api.featuretoggles.CustomTokenFeatureToggles -import com.tangem.tap.features.tokens.api.featuretoggles.TokensListFeatureToggles import org.rekotlin.Action sealed interface DaggerGraphAction : Action { - data class SetApplicationDependencies( - val assetReader: AssetReader, - val networkConnectionManager: NetworkConnectionManager, - val tokensListFeatureToggles: TokensListFeatureToggles, - val customTokenFeatureToggles: CustomTokenFeatureToggles, - ) : DaggerGraphAction - data class SetActivityDependencies(val testerRouter: TesterRouter) : DaggerGraphAction } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphReducer.kt b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphReducer.kt index 3bb0e65284..43cb94af5c 100644 --- a/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphReducer.kt +++ b/app/src/main/java/com/tangem/tap/proxy/redux/DaggerGraphReducer.kt @@ -12,12 +12,6 @@ object DaggerGraphReducer { private fun internalReduce(action: DaggerGraphAction, state: AppState): DaggerGraphState { return when (action) { - is DaggerGraphAction.SetApplicationDependencies -> state.daggerGraphState.copy( - assetReader = action.assetReader, - networkConnectionManager = action.networkConnectionManager, - tokensListFeatureToggles = action.tokensListFeatureToggles, - customTokenFeatureToggles = action.customTokenFeatureToggles, - ) is DaggerGraphAction.SetActivityDependencies -> state.daggerGraphState.copy( testerRouter = action.testerRouter, )