@@ -30,18 +30,17 @@ import com.duckduckgo.app.statistics.pixels.Pixel
3030import com.duckduckgo.app.tabs.store.TabSwitcherDataStore
3131import com.duckduckgo.browser.ui.omnibar.OmnibarType
3232import com.duckduckgo.common.ui.DuckDuckGoTheme
33- import com.duckduckgo.common.ui.DuckDuckGoTheme.DARK
34- import com.duckduckgo.common.ui.DuckDuckGoTheme.LIGHT
35- import com.duckduckgo.common.ui.DuckDuckGoTheme.SYSTEM_DEFAULT
3633import com.duckduckgo.common.ui.store.ThemingDataStore
3734import com.duckduckgo.common.utils.DispatcherProvider
3835import com.duckduckgo.di.scopes.ActivityScope
3936import kotlinx.coroutines.channels.BufferOverflow
4037import kotlinx.coroutines.channels.Channel
4138import kotlinx.coroutines.flow.Flow
4239import kotlinx.coroutines.flow.MutableStateFlow
40+ import kotlinx.coroutines.flow.SharingStarted
4341import kotlinx.coroutines.flow.combine
4442import kotlinx.coroutines.flow.receiveAsFlow
43+ import kotlinx.coroutines.flow.stateIn
4544import kotlinx.coroutines.flow.update
4645import kotlinx.coroutines.launch
4746import kotlinx.coroutines.withContext
@@ -101,7 +100,7 @@ class AppearanceViewModel @Inject constructor(
101100 currentViewState.copy(
102101 isTrackersCountInTabSwitcherEnabled = ! isTrackersAnimationTileHidden,
103102 )
104- }
103+ }.stateIn(viewModelScope, SharingStarted . Lazily , viewState.value)
105104
106105 private val command = Channel <Command >(1 , BufferOverflow .DROP_OLDEST )
107106 fun commands (): Flow <Command > = command.receiveAsFlow()
@@ -139,9 +138,9 @@ class AppearanceViewModel @Inject constructor(
139138
140139 val pixelName =
141140 when (selectedTheme) {
142- LIGHT -> SETTINGS_THEME_TOGGLED_LIGHT
143- DARK -> SETTINGS_THEME_TOGGLED_DARK
144- SYSTEM_DEFAULT -> SETTINGS_THEME_TOGGLED_SYSTEM_DEFAULT
141+ DuckDuckGoTheme . LIGHT -> SETTINGS_THEME_TOGGLED_LIGHT
142+ DuckDuckGoTheme . DARK -> SETTINGS_THEME_TOGGLED_DARK
143+ DuckDuckGoTheme . SYSTEM_DEFAULT -> SETTINGS_THEME_TOGGLED_SYSTEM_DEFAULT
145144 }
146145 pixel.fire(pixelName)
147146 }
0 commit comments