Skip to content

Commit

Permalink
Only add locale language to enabled languages if it is not English based
Browse files Browse the repository at this point in the history
  • Loading branch information
Jays2Kings committed Aug 4, 2023
1 parent 7cf4a42 commit 177e0cf
Show file tree
Hide file tree
Showing 9 changed files with 17 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,10 @@ class PreferencesHelper(val context: Context) {

fun browseAsList() = flowPrefs.getBoolean(Keys.catalogueAsList, false)

fun enabledLanguages() = flowPrefs.getStringSet(Keys.enabledLanguages, setOf("all", "en", Locale.getDefault().language))
fun enabledLanguages() = flowPrefs.getStringSet(
Keys.enabledLanguages,
setOfNotNull("all", "en", Locale.getDefault().language.takeIf { !it.startsWith("en") }),
)

fun sourceSorting() = flowPrefs.getInt(Keys.sourcesSort, 0)

Expand Down
7 changes: 4 additions & 3 deletions app/src/main/java/eu/kanade/tachiyomi/source/Source.kt
Original file line number Diff line number Diff line change
Expand Up @@ -88,16 +88,17 @@ interface Source {
return fetchPageList(chapter).awaitSingle()
}

fun includeLangInName(isMultiLingual: Boolean, extensionManager: ExtensionManager? = null): Boolean {
fun includeLangInName(enabledLanguages: Set<String>, extensionManager: ExtensionManager? = null): Boolean {
val httpSource = this as? HttpSource ?: return true
val extManager = extensionManager ?: Injekt.get()
val allExt = httpSource.getExtension(extManager)?.lang == "all"
val onlyAll = httpSource.extOnlyHasAllLanguage(extManager)
val isMultiLingual = enabledLanguages.filterNot { it == "all" }.size > 1
return (isMultiLingual && allExt) || (lang == "all" && !onlyAll)
}

fun nameBasedOnEnabledLanguages(isMultiLingual: Boolean, extensionManager: ExtensionManager? = null): String {
return if (includeLangInName(isMultiLingual, extensionManager)) toString() else name
fun nameBasedOnEnabledLanguages(enabledLanguages: Set<String>, extensionManager: ExtensionManager? = null): String {
return if (includeLangInName(enabledLanguages, extensionManager)) toString() else name
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -433,10 +433,9 @@ class MangaHeaderHolder(
)
with(binding.mangaSource) {
val enabledLanguages = presenter.preferences.enabledLanguages().get()
.filterNot { it == "all" }

text = buildSpannedString {
append(presenter.source.nameBasedOnEnabledLanguages(enabledLanguages.size > 1))
append(presenter.source.nameBasedOnEnabledLanguages(enabledLanguages))
if (presenter.source is SourceManager.StubSource &&
presenter.source.name != presenter.source.id.toString()
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ class MigrationSourceAdapter(
) {

val extensionManager: ExtensionManager = Injekt.get()
val isMultiLingual =
Injekt.get<PreferencesHelper>().enabledLanguages().get().filterNot { it == "all" }.size > 1
val enabledLanguages = Injekt.get<PreferencesHelper>().enabledLanguages().get()

override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class MigrationSourceHolder(view: View, val adapter: MigrationSourceAdapter) :
}

fun bind(source: HttpSource, sourceEnabled: Boolean) {
binding.title.text = source.nameBasedOnEnabledLanguages(adapter.isMultiLingual, adapter.extensionManager)
binding.title.text = source.nameBasedOnEnabledLanguages(adapter.enabledLanguages, adapter.extensionManager)
// Update circle letter image.
itemView.post {
val icon = source.icon()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,7 @@ class StatsDetailsController :
when (it) {
is Category -> it.name
is Source -> it.nameBasedOnEnabledLanguages(
presenter.isMultiLingual,
presenter.enabledLanguages,
presenter.extensionManager,
)
else -> it.toString()
Expand Down Expand Up @@ -519,7 +519,7 @@ class StatsDetailsController :
when (val firstValue = selectedValues.first()) {
is Category -> firstValue.name
is Source -> firstValue.nameBasedOnEnabledLanguages(
presenter.isMultiLingual,
presenter.enabledLanguages,
presenter.extensionManager,
)
else -> firstValue.toString()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class StatsDetailsPresenter(
private var mangasDistinct = libraryMangas.distinct()
val sources = getEnabledSources()
val extensionManager by injectLazy<ExtensionManager>()
val isMultiLingual = prefs.enabledLanguages().get().filterNot { it == "all" }.size > 1
val enabledLanguages = prefs.enabledLanguages().get()

var selectedStat: Stats? = null
var selectedSeriesType = mutableSetOf<String>()
Expand Down Expand Up @@ -287,7 +287,7 @@ class StatsDetailsPresenter(
meanScore = mangaList.getMeanScoreRounded(),
chaptersRead = mangaList.sumOf { it.read },
totalChapters = mangaList.sumOf { it.totalChapters },
label = source.nameBasedOnEnabledLanguages(isMultiLingual, extensionManager),
label = source.nameBasedOnEnabledLanguages(enabledLanguages, extensionManager),
icon = source.icon(),
readDuration = mangaList.getReadDuration(),
id = sourceId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ class SourceAdapter(val controller: BrowseController) :

val sourceListener: SourceListener = controller

val isMultiLingual =
Injekt.get<PreferencesHelper>().enabledLanguages().get().filterNot { it == "all" }.size > 1
val enabledLanguages = Injekt.get<PreferencesHelper>().enabledLanguages().get()

val extensionManager = controller.presenter.extensionManager

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class SourceHolder(view: View, val adapter: SourceAdapter) :
val underPinnedSection = item.header?.code?.equals(SourcePresenter.PINNED_KEY) ?: false
val underLastUsedSection = item.header?.code?.equals(SourcePresenter.LAST_USED_KEY) ?: false
val isPinned = item.isPinned ?: underPinnedSection
val showLanguage = source.includeLangInName(adapter.isMultiLingual, adapter.extensionManager)
val showLanguage = source.includeLangInName(adapter.enabledLanguages, adapter.extensionManager)
val sourceName = if (showLanguage && (underPinnedSection || underLastUsedSection)) source.toString() else source.name
binding.title.text = sourceName

Expand Down

0 comments on commit 177e0cf

Please sign in to comment.