Locales: improve algo

This commit is contained in:
Benoit Marty 2020-05-14 11:41:42 +02:00
parent 4961bb0e08
commit 19d655ec41
2 changed files with 6 additions and 8 deletions

View file

@ -42,8 +42,7 @@ object VectorLocale {
/**
* The supported application languages
*/
var supportedLocales = ArrayList<Locale>()
private set
val supportedLocales = mutableListOf<Locale>()
/**
* Provides the current application locale
@ -195,9 +194,7 @@ object VectorLocale {
)
}
supportedLocales.clear()
knownLocalesSet.mapTo(supportedLocales) { (language, country, script) ->
val list = knownLocalesSet.map { (language, country, script) ->
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Locale.Builder()
.setLanguage(language)
@ -208,9 +205,11 @@ object VectorLocale {
Locale(language, country)
}
}
// sort by human display names
supportedLocales.sortWith(Comparator { lhs, rhs -> localeToLocalisedString(lhs).compareTo(localeToLocalisedString(rhs)) })
.sortedBy { localeToLocalisedString(it).toLowerCase(it) }
supportedLocales.clear()
supportedLocales.addAll(list)
}
/**

View file

@ -61,7 +61,6 @@ class LocalePickerController @Inject constructor(
}
list
.filter { it != data.currentLocale }
.sortedBy { VectorLocale.localeToLocalisedString(it).toLowerCase(it) }
.forEach {
localeItem {
id(it.toString())