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 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)
|
fun sourceSorting() = flowPrefs.getInt(Keys.sourcesSort, 0)
|
||||||
|
|
||||||
|
|
|
@ -88,16 +88,17 @@ interface Source {
|
||||||
return fetchPageList(chapter).awaitSingle()
|
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 httpSource = this as? HttpSource ?: return true
|
||||||
val extManager = extensionManager ?: Injekt.get()
|
val extManager = extensionManager ?: Injekt.get()
|
||||||
val allExt = httpSource.getExtension(extManager)?.lang == "all"
|
val allExt = httpSource.getExtension(extManager)?.lang == "all"
|
||||||
val onlyAll = httpSource.extOnlyHasAllLanguage(extManager)
|
val onlyAll = httpSource.extOnlyHasAllLanguage(extManager)
|
||||||
|
val isMultiLingual = enabledLanguages.filterNot { it == "all" }.size > 1
|
||||||
return (isMultiLingual && allExt) || (lang == "all" && !onlyAll)
|
return (isMultiLingual && allExt) || (lang == "all" && !onlyAll)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun nameBasedOnEnabledLanguages(isMultiLingual: Boolean, extensionManager: ExtensionManager? = null): String {
|
fun nameBasedOnEnabledLanguages(enabledLanguages: Set<String>, extensionManager: ExtensionManager? = null): String {
|
||||||
return if (includeLangInName(isMultiLingual, extensionManager)) toString() else name
|
return if (includeLangInName(enabledLanguages, extensionManager)) toString() else name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -433,10 +433,9 @@ class MangaHeaderHolder(
|
||||||
)
|
)
|
||||||
with(binding.mangaSource) {
|
with(binding.mangaSource) {
|
||||||
val enabledLanguages = presenter.preferences.enabledLanguages().get()
|
val enabledLanguages = presenter.preferences.enabledLanguages().get()
|
||||||
.filterNot { it == "all" }
|
|
||||||
|
|
||||||
text = buildSpannedString {
|
text = buildSpannedString {
|
||||||
append(presenter.source.nameBasedOnEnabledLanguages(enabledLanguages.size > 1))
|
append(presenter.source.nameBasedOnEnabledLanguages(enabledLanguages))
|
||||||
if (presenter.source is SourceManager.StubSource &&
|
if (presenter.source is SourceManager.StubSource &&
|
||||||
presenter.source.name != presenter.source.id.toString()
|
presenter.source.name != presenter.source.id.toString()
|
||||||
) {
|
) {
|
||||||
|
|
|
@ -19,8 +19,7 @@ class MigrationSourceAdapter(
|
||||||
) {
|
) {
|
||||||
|
|
||||||
val extensionManager: ExtensionManager = Injekt.get()
|
val extensionManager: ExtensionManager = Injekt.get()
|
||||||
val isMultiLingual =
|
val enabledLanguages = Injekt.get<PreferencesHelper>().enabledLanguages().get()
|
||||||
Injekt.get<PreferencesHelper>().enabledLanguages().get().filterNot { it == "all" }.size > 1
|
|
||||||
|
|
||||||
override fun onSaveInstanceState(outState: Bundle) {
|
override fun onSaveInstanceState(outState: Bundle) {
|
||||||
super.onSaveInstanceState(outState)
|
super.onSaveInstanceState(outState)
|
||||||
|
|
|
@ -16,7 +16,7 @@ class MigrationSourceHolder(view: View, val adapter: MigrationSourceAdapter) :
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bind(source: HttpSource, sourceEnabled: Boolean) {
|
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.
|
// Update circle letter image.
|
||||||
itemView.post {
|
itemView.post {
|
||||||
val icon = source.icon()
|
val icon = source.icon()
|
||||||
|
|
|
@ -377,7 +377,7 @@ class StatsDetailsController :
|
||||||
when (it) {
|
when (it) {
|
||||||
is Category -> it.name
|
is Category -> it.name
|
||||||
is Source -> it.nameBasedOnEnabledLanguages(
|
is Source -> it.nameBasedOnEnabledLanguages(
|
||||||
presenter.isMultiLingual,
|
presenter.enabledLanguages,
|
||||||
presenter.extensionManager,
|
presenter.extensionManager,
|
||||||
)
|
)
|
||||||
else -> it.toString()
|
else -> it.toString()
|
||||||
|
@ -519,7 +519,7 @@ class StatsDetailsController :
|
||||||
when (val firstValue = selectedValues.first()) {
|
when (val firstValue = selectedValues.first()) {
|
||||||
is Category -> firstValue.name
|
is Category -> firstValue.name
|
||||||
is Source -> firstValue.nameBasedOnEnabledLanguages(
|
is Source -> firstValue.nameBasedOnEnabledLanguages(
|
||||||
presenter.isMultiLingual,
|
presenter.enabledLanguages,
|
||||||
presenter.extensionManager,
|
presenter.extensionManager,
|
||||||
)
|
)
|
||||||
else -> firstValue.toString()
|
else -> firstValue.toString()
|
||||||
|
|
|
@ -52,7 +52,7 @@ class StatsDetailsPresenter(
|
||||||
private var mangasDistinct = libraryMangas.distinct()
|
private var mangasDistinct = libraryMangas.distinct()
|
||||||
val sources = getEnabledSources()
|
val sources = getEnabledSources()
|
||||||
val extensionManager by injectLazy<ExtensionManager>()
|
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 selectedStat: Stats? = null
|
||||||
var selectedSeriesType = mutableSetOf<String>()
|
var selectedSeriesType = mutableSetOf<String>()
|
||||||
|
@ -287,7 +287,7 @@ class StatsDetailsPresenter(
|
||||||
meanScore = mangaList.getMeanScoreRounded(),
|
meanScore = mangaList.getMeanScoreRounded(),
|
||||||
chaptersRead = mangaList.sumOf { it.read },
|
chaptersRead = mangaList.sumOf { it.read },
|
||||||
totalChapters = mangaList.sumOf { it.totalChapters },
|
totalChapters = mangaList.sumOf { it.totalChapters },
|
||||||
label = source.nameBasedOnEnabledLanguages(isMultiLingual, extensionManager),
|
label = source.nameBasedOnEnabledLanguages(enabledLanguages, extensionManager),
|
||||||
icon = source.icon(),
|
icon = source.icon(),
|
||||||
readDuration = mangaList.getReadDuration(),
|
readDuration = mangaList.getReadDuration(),
|
||||||
id = sourceId,
|
id = sourceId,
|
||||||
|
|
|
@ -20,8 +20,7 @@ class SourceAdapter(val controller: BrowseController) :
|
||||||
|
|
||||||
val sourceListener: SourceListener = controller
|
val sourceListener: SourceListener = controller
|
||||||
|
|
||||||
val isMultiLingual =
|
val enabledLanguages = Injekt.get<PreferencesHelper>().enabledLanguages().get()
|
||||||
Injekt.get<PreferencesHelper>().enabledLanguages().get().filterNot { it == "all" }.size > 1
|
|
||||||
|
|
||||||
val extensionManager = controller.presenter.extensionManager
|
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 underPinnedSection = item.header?.code?.equals(SourcePresenter.PINNED_KEY) ?: false
|
||||||
val underLastUsedSection = item.header?.code?.equals(SourcePresenter.LAST_USED_KEY) ?: false
|
val underLastUsedSection = item.header?.code?.equals(SourcePresenter.LAST_USED_KEY) ?: false
|
||||||
val isPinned = item.isPinned ?: underPinnedSection
|
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
|
val sourceName = if (showLanguage && (underPinnedSection || underLastUsedSection)) source.toString() else source.name
|
||||||
binding.title.text = sourceName
|
binding.title.text = sourceName
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue