From 4db858946ab10bf46568c43049145c39428c0661 Mon Sep 17 00:00:00 2001 From: Adith Date: Wed, 25 Dec 2024 23:29:47 +0530 Subject: [PATCH] Fixing the nearbyController default language Also fixes the settingsFragment to select different primary and secondary description labels. --- .../free/nrw/commons/nearby/NearbyController.java | 3 ++- .../free/nrw/commons/settings/SettingsFragment.kt | 13 +++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java index eaf78076f..455299b50 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyController.java @@ -147,7 +147,8 @@ public class NearbyController extends MapController { */ public List getPlaces(List placeList) throws Exception { String secondaryLanguages = defaultKvStore.getString(Prefs.SECONDARY_LANGUAGES, ""); - return nearbyPlaces.getPlaces(placeList, Locale.getDefault().getLanguage(), secondaryLanguages); + String primaryLanguage = defaultKvStore.getString(Prefs.DESCRIPTION_LANGUAGE, ""); + return nearbyPlaces.getPlaces(placeList, primaryLanguage, secondaryLanguages); } public static LatLng calculateNorthEast(double latitude, double longitude, double distance) { diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt index 5023a097f..dc12dc281 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.kt @@ -309,14 +309,23 @@ class SettingsFragment : PreferenceFragmentCompat() { private fun prepareSecondaryLanguagesDialog() { val languageCode = getCurrentLanguageCode("descriptionSecondaryLanguagesPref") + val defaultCode = getCurrentLanguageCode("descriptionDefaultLanguagePref") val selectedLanguages = hashMapOf() + + var deflocale = Locale.getDefault() + + + if (defaultCode != null){ + deflocale = createLocale(defaultCode) + } + languageCode?.let { - selectedLanguages[0] = Locale.getDefault().language + selectedLanguages[0] = deflocale.language } val savedLanguages = arrayListOf() languageCode?.split(",\\s*".toRegex())?.forEach { code -> - if (code != Locale.getDefault().language) { + if (code != deflocale.language) { val locale = Locale(code) savedLanguages.add(Language(locale.displayLanguage, code)) }