From 562b26404856bab60c6a7135cd365264c1e69b18 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Sat, 24 Dec 2022 16:29:22 -0500 Subject: [PATCH] Fix some issues with preferences not updating the UI --- .../main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt | 7 +++++-- .../tachiyomi/ui/browse/source/SourcesScreenModel.kt | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt index 8545e5477..3b051b77d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseTab.kt @@ -8,11 +8,13 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import cafe.adriel.voyager.core.model.rememberScreenModel import cafe.adriel.voyager.navigator.tab.LocalTabNavigator import cafe.adriel.voyager.navigator.tab.TabOptions +import eu.kanade.core.prefs.asState import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.components.TabbedScreen import eu.kanade.presentation.util.Tab @@ -46,9 +48,10 @@ data class BrowseTab( @Composable override fun Content() { val context = LocalContext.current + val scope = rememberCoroutineScope() // SY --> - val feedTabInFront = remember { - Injekt.get().feedTabInFront().get() + val feedTabInFront by remember { + Injekt.get().feedTabInFront().asState(scope) } // SY <-- diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt index 6f2a49146..691e7ec48 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt @@ -1,8 +1,10 @@ package eu.kanade.tachiyomi.ui.browse.source import androidx.compose.runtime.Immutable +import androidx.compose.runtime.getValue import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope +import eu.kanade.core.prefs.asState import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.source.interactor.GetEnabledSources import eu.kanade.domain.source.interactor.GetShowLatest @@ -51,7 +53,7 @@ class SourcesScreenModel( private val _events = Channel(Int.MAX_VALUE) val events = _events.receiveAsFlow() - val useNewSourceNavigation = uiPreferences.useNewSourceNavigation().get() + val useNewSourceNavigation by uiPreferences.useNewSourceNavigation().asState(coroutineScope) init { // SY -->