From c166fed426bcb5d7b1b48f0ae0d7a1fe473e08f9 Mon Sep 17 00:00:00 2001 From: "Cuong M. Tran" Date: Tue, 6 Feb 2024 03:10:48 +0700 Subject: [PATCH] =?UTF-8?q?Show=20source=E2=80=99s=20extension=20name=20in?= =?UTF-8?q?=20Source=20browse=20&=20Global=20search?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (often it’s a romanized version so it’s easier to remember) --- .../presentation/browse/GlobalSearchScreen.kt | 20 +++++++++++++++++-- .../browse/components/BaseSourceItem.kt | 7 ++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt index 0ea1adf2e..80e13f03c 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.runtime.Composable import androidx.compose.runtime.State +import eu.kanade.domain.source.model.installedExtension import eu.kanade.presentation.browse.components.GlobalSearchCardRow import eu.kanade.presentation.browse.components.GlobalSearchErrorResultItem import eu.kanade.presentation.browse.components.GlobalSearchLoadingResultItem @@ -16,6 +17,7 @@ import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SourceFilter import eu.kanade.tachiyomi.util.system.LocaleHelper import kotlinx.collections.immutable.ImmutableMap import tachiyomi.domain.manga.model.Manga +import tachiyomi.domain.source.model.Source as DomainSource import tachiyomi.presentation.core.components.material.Scaffold @Composable @@ -74,10 +76,24 @@ internal fun GlobalSearchContent( ) { items.forEach { (source, result) -> item(key = source.id) { + // KMK --> + val domainSource = DomainSource( + source.id, + "", "", + supportsLatest = false, + isStub = false + ) + // KMK <-- + GlobalSearchResultItem( - title = fromSourceId?.let { + title = (fromSourceId?.let { "▶ ${source.name}".takeIf { source.id == fromSourceId } - } ?: source.name, + } ?: source.name) + + // KMK --> + (domainSource.installedExtension?.let { extension -> + " (${extension.name})".takeIf { extension.name != source.name } + } ?: ""), + // KMK <-- subtitle = LocaleHelper.getLocalizedDisplayName(source.lang), onClick = { onClickSource(source) }, ) { diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt index 951fb307b..32e14da08 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BaseSourceItem.kt @@ -55,7 +55,12 @@ private val defaultContent: @Composable RowScope.(Source, String?) -> Unit = { s .weight(1f), ) { Text( - text = source.name, + text = source.name + + // KMK --> + (source.installedExtension?.let { extension -> + " (${extension.name})".takeIf {extension.name != source.name } + } ?: ""), + // KMK <-- maxLines = 1, overflow = TextOverflow.Ellipsis, style = MaterialTheme.typography.bodyMedium,