Use array extensions.

This commit is contained in:
Isira Seneviratne 2023-01-14 15:35:32 +05:30
parent 030cc80c71
commit e68677ab6d
2 changed files with 8 additions and 29 deletions

View File

@ -73,7 +73,7 @@ class PlayerSettings : BasePreferenceFragment() {
}
private fun setupSubtitlePref(preference: ListPreference) {
val locales = LocaleHelper.getAvailableLocales().sortedBy { it.name }
val locales = LocaleHelper.getAvailableLocales()
val localeNames = locales.map { it.name }
.toMutableList()
localeNames.add(0, requireContext().getString(R.string.none))

View File

@ -67,37 +67,16 @@ object LocaleHelper {
}
fun getAvailableCountries(): List<Country> {
val isoCountries = Locale.getISOCountries()
val countries = mutableListOf<Country>()
isoCountries.forEach { countryCode ->
val locale = Locale("", countryCode)
val countryName = locale.displayCountry
countries.add(
Country(
countryName,
countryCode
)
)
}
countries.sortBy { it.name }
return countries
return Locale.getISOCountries()
.map { Country(Locale("", it).displayCountry, it) }
.sortedBy { it.name }
}
fun getAvailableLocales(): List<Country> {
val availableLocales: Array<Locale> = Locale.getAvailableLocales()
val locales = mutableListOf<Country>()
availableLocales.forEach { locale ->
if (locales.filter { it.code == locale.language }.isEmpty()) {
locales.add(
Country(
locale.displayLanguage,
locale.language
)
)
}
}
return locales
return Locale.getAvailableLocales()
.distinctBy { it.language }
.map { Country(it.displayLanguage, it.language) }
.sortedBy { it.name }
}
fun getTrendingRegion(context: Context): String {