From e68677ab6dfc9308b2a8d75a09731ccc1deb751e Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sat, 14 Jan 2023 15:35:32 +0530 Subject: [PATCH] Use array extensions. --- .../ui/preferences/PlayerSettings.kt | 2 +- .../com/github/libretube/util/LocaleHelper.kt | 35 ++++--------------- 2 files changed, 8 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt index ac228defc..f77cb80a7 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/PlayerSettings.kt @@ -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)) diff --git a/app/src/main/java/com/github/libretube/util/LocaleHelper.kt b/app/src/main/java/com/github/libretube/util/LocaleHelper.kt index 6ad980f08..f2c377c02 100644 --- a/app/src/main/java/com/github/libretube/util/LocaleHelper.kt +++ b/app/src/main/java/com/github/libretube/util/LocaleHelper.kt @@ -67,37 +67,16 @@ object LocaleHelper { } fun getAvailableCountries(): List { - val isoCountries = Locale.getISOCountries() - val countries = mutableListOf() - 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 { - val availableLocales: Array = Locale.getAvailableLocales() - val locales = mutableListOf() - - 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 {