Remove categories for multi language "single" sources

This commit is contained in:
arkon 2020-06-15 22:45:28 -04:00
parent 749b240897
commit ff5f13eafe
2 changed files with 15 additions and 10 deletions

View file

@ -114,17 +114,14 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
preferenceScreen = screen
val isMultiSource = extension.sources.size > 1
val isMultiLangSingleSource = isMultiSource && extension.sources.map { it.name }.distinct().size == 1
with(screen) {
extension.sources
.groupBy { (it as CatalogueSource).lang }
.toSortedMap(compareBy { LocaleHelper.getSourceDisplayName(it, context) })
.forEach {
preferenceCategory {
if (isMultiSource) {
title = LocaleHelper.getSourceDisplayName(it.key, context)
}
val preferenceBlock = {
it.value
.sortedWith(compareBy({ !it.isEnabled() }, { it.name }))
.forEach { source ->
@ -132,10 +129,9 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
val block: (@DSL SwitchPreferenceCompat).() -> Unit = {
key = getSourceKey(source.id)
title = if (isMultiSource) {
source.toString()
} else {
context.getString(R.string.enabled)
title = when {
isMultiSource && !isMultiLangSingleSource -> source.toString()
else -> LocaleHelper.getSourceDisplayName(it.key, context)
}
isPersistent = false
isChecked = source.isEnabled()
@ -171,6 +167,16 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
}
}
}
if (isMultiSource && !isMultiLangSingleSource) {
preferenceCategory {
title = LocaleHelper.getSourceDisplayName(it.key, context)
preferenceBlock()
}
} else {
preferenceBlock()
}
}
}

View file

@ -224,7 +224,6 @@
<string name="unofficial_extension_message">This extension is not from the official Tachiyomi extensions list.</string>
<string name="ext_version_info">Version: %1$s</string>
<string name="ext_language_info">Language: %1$s</string>
<string name="enabled">Enabled</string>
<!-- Reader section -->
<string name="pref_fullscreen">Fullscreen</string>