diff --git a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java index f05c3e915..7b4c4631e 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/SingleUploadFragment.java @@ -92,6 +92,7 @@ public class SingleUploadFragment extends Fragment { View rootView = inflater.inflate(R.layout.fragment_single_upload, null); ButterKnife.bind(this, rootView); + ArrayList licenseItems = new ArrayList<>(); licenseItems.add(getString(R.string.license_name_cc0)); licenseItems.add(getString(R.string.license_name_cc_by)); @@ -104,7 +105,15 @@ public class SingleUploadFragment extends Fragment { Log.d("Single Upload fragment", license); - ArrayAdapter adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, licenseItems); + ArrayAdapter adapter; + if (PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean("theme",true)) { + // dark theme + adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, licenseItems); + }else { + // light theme + adapter = new ArrayAdapter<>(getActivity(), R.layout.light_simple_spinner_dropdown_item, licenseItems); + } + licenseSpinner.setAdapter(adapter); int position = licenseItems.indexOf(getString(Utils.licenseNameFor(license))); @@ -136,6 +145,13 @@ public class SingleUploadFragment extends Fragment { @OnItemSelected(R.id.licenseSpinner) void onLicenseSelected(AdapterView parent, View view, int position, long id) { String licenseName = parent.getItemAtPosition(position).toString(); + // Set selected color to white because it should be readable on random images. + TextView selectedText = (TextView) licenseSpinner.getChildAt(0); + if (selectedText != null ) { + selectedText.setTextColor(Color.WHITE); + selectedText.setBackgroundColor(Color.TRANSPARENT); + } + String license = Prefs.Licenses.CC_BY_SA_3; // default value if(getString(R.string.license_name_cc0).equals(licenseName)) { license = Prefs.Licenses.CC0; diff --git a/app/src/main/res/layout/light_simple_spinner_dropdown_item.xml b/app/src/main/res/layout/light_simple_spinner_dropdown_item.xml new file mode 100644 index 000000000..11f95bf2e --- /dev/null +++ b/app/src/main/res/layout/light_simple_spinner_dropdown_item.xml @@ -0,0 +1,11 @@ + +