diff --git a/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java b/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java index badcd48f8a..946118c3a0 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/DescriptionsAdapter.java @@ -147,7 +147,6 @@ private void initLanguageSpinner(int position, Description description) { spinnerDescriptionLanguages.getContext(), R.layout.row_item_languages_spinner, selectedLanguages, savedLanguageValue); - languagesAdapter.notifyDataSetChanged(); spinnerDescriptionLanguages.setAdapter(languagesAdapter); spinnerDescriptionLanguages.setOnItemSelectedListener(new OnItemSelectedListener() { @@ -162,6 +161,7 @@ public void onItemSelected(AdapterView adapterView, View view, int position, selectedLanguages.put(adapterView, languageCode); ((SpinnerLanguagesAdapter) adapterView .getAdapter()).selectedLangCode = languageCode; + spinnerDescriptionLanguages.setSelection(position); Timber.d("Description language code is: "+languageCode); } @@ -171,7 +171,7 @@ public void onNothingSelected(AdapterView adapterView) { }); if (description.getSelectedLanguageIndex() == -1) { - if (savedLanguageValue != null) { + if (!TextUtils.isEmpty(savedLanguageValue)) { // If user has chosen a default language from settings activity savedLanguageValue is not null spinnerDescriptionLanguages.setSelection(languagesAdapter.getIndexOfLanguageCode(savedLanguageValue)); } else { @@ -180,7 +180,7 @@ public void onNothingSelected(AdapterView adapterView) { .getIndexOfUserDefaultLocale(spinnerDescriptionLanguages.getContext()); spinnerDescriptionLanguages.setSelection(defaultLocaleIndex, true); } else { - spinnerDescriptionLanguages.setSelection(0); + spinnerDescriptionLanguages.setSelection(0,true); } } diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java index f050568a80..256c841b91 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/SpinnerLanguagesAdapter.java @@ -139,14 +139,7 @@ public void init(int position, boolean isDropDownView, String savedLanguageValue String languageCode = LangCodeUtils.fixLanguageCode(languageCodesList.get(position)); final String languageName = StringUtils.capitalize(languageNamesList.get(position)); - if(savedLanguageValue.equals("")){ - savedLanguageValue = Locale.getDefault().getLanguage(); - } - if (!isDropDownView) { - if( !dropDownClicked){ - languageCode = LangCodeUtils.fixLanguageCode(savedLanguageValue); - } view.setVisibility(View.GONE); if (languageCode.length() > 2) tvLanguage.setText(languageCode.substring(0, 2));