From 6a7db7b2e4a4accd542e327867ab537ebedd608d Mon Sep 17 00:00:00 2001 From: "Cuong M. Tran" Date: Wed, 31 Jan 2024 16:03:01 +0700 Subject: [PATCH] =?UTF-8?q?Feed:=20will=20get=20Popular=20if=20source=20do?= =?UTF-8?q?esn=E2=80=99t=20support=20Latest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/eu/kanade/presentation/browse/FeedScreen.kt | 7 ++++++- .../eu/kanade/presentation/browse/SourcesScreen.kt | 2 +- .../browse/components/GlobalSearchResultItems.kt | 4 +--- .../tachiyomi/ui/browse/feed/FeedScreenModel.kt | 11 +++++++++-- .../eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt | 7 ++++++- .../tachiyomi/domain/source/model/FeedSavedSearch.kt | 2 +- 6 files changed, 24 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt index a2bb415b6..258b4709a 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt @@ -195,7 +195,12 @@ fun FeedAddSearchDialog( val context = LocalContext.current val savedSearchStrings = remember { savedSearches.map { - it?.name ?: context.stringResource(MR.strings.latest) + // KMK --> + it?.name ?: if (source.supportsLatest) + context.stringResource(MR.strings.latest) + else + context.stringResource(MR.strings.popular) + // KMK <-- }.toImmutableList() } RadioSelector( diff --git a/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt index 41b730e93..9ed791d13 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourcesScreen.kt @@ -112,7 +112,7 @@ fun SourcesScreen( FastScrollLazyColumn( state = lazyListState, - // KMK <-- + // KMK <-- contentPadding = contentPadding + topSmallPaddingValues, ) { items( diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchResultItems.kt b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchResultItems.kt index e8536ccb9..193e9ebf6 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchResultItems.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchResultItems.kt @@ -30,15 +30,13 @@ import tachiyomi.presentation.core.i18n.stringResource @Composable fun GlobalSearchResultItem( - // SY --> - modifier: Modifier = Modifier, - // SY <-- title: String, // SY --> subtitle: String?, // SY <-- onClick: () -> Unit, // SY --> + modifier: Modifier = Modifier, onLongClick: (() -> Unit)? = null, // SY <-- content: @Composable () -> Unit, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt index e07403b32..82197e884 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedScreenModel.kt @@ -130,7 +130,9 @@ open class FeedScreenModel( dialog = Dialog.AddFeedSearch( source, ( - (if (source.supportsLatest) persistentListOf(null) else persistentListOf()) + + // KMK --> + persistentListOf(null) + + // KMK <--> getSourceSavedSearches(source.id) ).toImmutableList(), ), @@ -231,7 +233,12 @@ open class FeedScreenModel( if (itemUI.source != null) { withContext(coroutineDispatcher) { if (itemUI.savedSearch == null) { - itemUI.source.getLatestUpdates(1) + // KMK --> + if (itemUI.source.supportsLatest) + itemUI.source.getLatestUpdates(1) + else + itemUI.source.getPopularManga(1) + // KMK <-- } else { itemUI.source.getSearchManga( 1, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt index 19723c3d8..ba9300c86 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/feed/FeedTab.kt @@ -78,7 +78,12 @@ fun Screen.feedTab(): TabContent { navigator.push( BrowseSourceScreen( source.id, - GetRemoteManga.QUERY_LATEST, + // KMK --> + listingQuery = if (!source.supportsLatest) + GetRemoteManga.QUERY_POPULAR + else + GetRemoteManga.QUERY_LATEST, + // KMK <-- ), ) }, diff --git a/domain/src/main/java/tachiyomi/domain/source/model/FeedSavedSearch.kt b/domain/src/main/java/tachiyomi/domain/source/model/FeedSavedSearch.kt index fd1b5c235..658c13ab6 100644 --- a/domain/src/main/java/tachiyomi/domain/source/model/FeedSavedSearch.kt +++ b/domain/src/main/java/tachiyomi/domain/source/model/FeedSavedSearch.kt @@ -7,7 +7,7 @@ data class FeedSavedSearch( // Source for the saved search val source: Long, - // If -1 then get latest, if set get the saved search + // If null then get latest/popular, if set get the saved search val savedSearch: Long?, // If the feed is a global or source specific feed