Preselect new sources based on locale

This commit is contained in:
Koitharu
2022-07-06 12:20:48 +03:00
parent 3d74d027c1
commit 6934daecff

View File

@@ -1,10 +1,12 @@
package org.koitharu.kotatsu.settings.newsources package org.koitharu.kotatsu.settings.newsources
import androidx.core.os.LocaleListCompat
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import org.koitharu.kotatsu.base.ui.BaseViewModel import org.koitharu.kotatsu.base.ui.BaseViewModel
import org.koitharu.kotatsu.core.model.getLocaleTitle import org.koitharu.kotatsu.core.model.getLocaleTitle
import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.core.prefs.AppSettings
import org.koitharu.kotatsu.settings.sources.model.SourceConfigItem import org.koitharu.kotatsu.settings.sources.model.SourceConfigItem
import org.koitharu.kotatsu.utils.ext.mapToSet
class NewSourcesViewModel( class NewSourcesViewModel(
private val settings: AppSettings, private val settings: AppSettings,
@@ -30,12 +32,14 @@ class NewSourcesViewModel(
} }
private fun buildList() { private fun buildList() {
val locales = LocaleListCompat.getDefault().mapToSet { it.language }
val hidden = settings.hiddenSources val hidden = settings.hiddenSources
sources.value = initialList.map { sources.value = initialList.map {
val locale = it.locale
SourceConfigItem.SourceItem( SourceConfigItem.SourceItem(
source = it, source = it,
summary = it.getLocaleTitle(), summary = it.getLocaleTitle(),
isEnabled = it.name !in hidden, isEnabled = it.name !in hidden && (locale == null || locale in locales),
isDraggable = false, isDraggable = false,
) )
} }