fix(source-feed): update last used source was not working, show incognito status bar (#900)

This commit is contained in:
Cuong-Tran 2025-05-11 03:08:33 +07:00 committed by GitHub
parent 3d9dd9d7b1
commit ee1418c7fc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View file

@ -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>(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 {

View file

@ -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 }
}