From ee1418c7fc421b42e0e082916c7576510a7c59c4 Mon Sep 17 00:00:00 2001 From: Cuong-Tran Date: Sun, 11 May 2025 03:08:33 +0700 Subject: [PATCH] fix(source-feed): update last used source was not working, show incognito status bar (#900) --- .../ui/browse/source/feed/SourceFeedScreenModel.kt | 8 ++++++++ .../main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt index 73676c519..b0855930d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt @@ -10,6 +10,8 @@ import cafe.adriel.voyager.core.model.screenModelScope import dev.icerock.moko.resources.StringResource import eu.kanade.core.preference.asState import eu.kanade.domain.source.interactor.GetExhSavedSearch +import eu.kanade.domain.source.interactor.GetIncognitoState +import eu.kanade.domain.source.service.SourcePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.browse.SourceFeedUI import eu.kanade.tachiyomi.source.CatalogueSource @@ -72,6 +74,8 @@ open class SourceFeedScreenModel( private val getExhSavedSearch: GetExhSavedSearch = Injekt.get(), // KMK --> private val reorderFeed: ReorderFeed = Injekt.get(), + private val getIncognitoState: GetIncognitoState = Injekt.get(), + sourcePreferences: SourcePreferences = Injekt.get(), // KMK <-- ) : StateScreenModel(SourceFeedState()) { @@ -99,6 +103,10 @@ open class SourceFeedScreenModel( setFilters(source.getFilterList()) // KMK --> reloadSavedSearches() + + if (!getIncognitoState.await(source.id)) { + sourcePreferences.lastUsedSource().set(source.id) + } // KMK <-- getFeedSavedSearchBySourceId.subscribe(source.id) .onEach { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt index eb33d05eb..68e0fc5e8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt @@ -81,6 +81,7 @@ import eu.kanade.tachiyomi.data.updater.AppUpdateJob import eu.kanade.tachiyomi.extension.api.ExtensionApi import eu.kanade.tachiyomi.ui.base.activity.BaseActivity import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen +import eu.kanade.tachiyomi.ui.browse.source.feed.SourceFeedScreen import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchScreen import eu.kanade.tachiyomi.ui.deeplink.DeepLinkScreen import eu.kanade.tachiyomi.ui.home.HomeScreen @@ -275,7 +276,12 @@ class MainActivity : BaseActivity() { } } LaunchedEffect(navigator.lastItem) { - (navigator.lastItem as? BrowseSourceScreen)?.sourceId + ( + (navigator.lastItem as? BrowseSourceScreen)?.sourceId + // KMK --> + ?: (navigator.lastItem as? SourceFeedScreen)?.sourceId + // KMK <-- + ) .let(getIncognitoState::subscribe) .collectLatest { incognito = it } }