mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Only add locale language to enabled languages if it is not English based
This commit is contained in:
parent
7cf4a42b87
commit
177e0cfcae
9 changed files with 17 additions and 16 deletions
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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()
|
||||
) {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
@ -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()
|
||||
|
|
|
@ -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>()
|
||||
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue