From e567acfc4fd440daa9d1be15072558aac0f0676d Mon Sep 17 00:00:00 2001 From: Neslihan Date: Tue, 21 Mar 2017 00:44:27 +0300 Subject: [PATCH 1/3] Fix spinner theme problem --- .../commons/upload/SingleUploadFragment.java | 20 ++++++++++++++++++- .../light_simple_spinner_dropdown_item.xml | 11 ++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/layout/light_simple_spinner_dropdown_item.xml 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 e03cf07db..137d3f850 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 @@ -4,11 +4,13 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.content.res.TypedArray; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.app.Fragment; +import android.support.v7.view.ContextThemeWrapper; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; @@ -24,6 +26,7 @@ import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; +import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; @@ -89,6 +92,7 @@ public class SingleUploadFragment extends Fragment { licenseSpinner = (Spinner) rootView.findViewById(R.id.licenseSpinner); licenseSummaryView = (TextView)rootView.findViewById(R.id.share_license_summary); + ArrayList licenseItems = new ArrayList<>(); licenseItems.add(getString(R.string.license_name_cc0)); licenseItems.add(getString(R.string.license_name_cc_by)); @@ -101,9 +105,22 @@ 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); + // Get background resource id to recognize current themes + TypedArray typedArray = getActivity().getTheme().obtainStyledAttributes(new int[] {R.attr.mainBackground}); + int themeBackgroundID = typedArray.getResourceId(0, 0); + typedArray.recycle(); + int position = licenseItems.indexOf(getString(Utils.licenseNameFor(license))); Log.d("Single Upload fragment", "Position:"+position+" "+getString(Utils.licenseNameFor(license))); licenseSpinner.setSelection(position); @@ -116,6 +133,7 @@ public class SingleUploadFragment extends Fragment { TextView selectedText = (TextView) licenseSpinner.getChildAt(0); if (selectedText != null ) { selectedText.setTextColor(Color.WHITE); + selectedText.setBackgroundColor(Color.TRANSPARENT); } String licenseName = parent.getItemAtPosition(position).toString(); 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 @@ + + From b7d6be5926b3aaae9c12cb19d541215ca3d33d8b Mon Sep 17 00:00:00 2001 From: Neslihan Date: Tue, 21 Mar 2017 00:50:24 +0300 Subject: [PATCH 2/3] Remove unused codes --- .../fr/free/nrw/commons/upload/SingleUploadFragment.java | 8 -------- 1 file changed, 8 deletions(-) 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 137d3f850..d76c51456 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 @@ -4,13 +4,11 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.content.res.TypedArray; import android.graphics.Color; import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.app.Fragment; -import android.support.v7.view.ContextThemeWrapper; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; @@ -26,7 +24,6 @@ import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; -import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; @@ -116,11 +113,6 @@ public class SingleUploadFragment extends Fragment { licenseSpinner.setAdapter(adapter); - // Get background resource id to recognize current themes - TypedArray typedArray = getActivity().getTheme().obtainStyledAttributes(new int[] {R.attr.mainBackground}); - int themeBackgroundID = typedArray.getResourceId(0, 0); - typedArray.recycle(); - int position = licenseItems.indexOf(getString(Utils.licenseNameFor(license))); Log.d("Single Upload fragment", "Position:"+position+" "+getString(Utils.licenseNameFor(license))); licenseSpinner.setSelection(position); From 08b46b8b3ff6ae8aa4dca490e49dbd91bae6405c Mon Sep 17 00:00:00 2001 From: Neslihan Date: Tue, 21 Mar 2017 12:08:27 +0300 Subject: [PATCH 3/3] Remove duplicates --- .../commons/upload/SingleUploadFragment.java | 61 +++---------------- 1 file changed, 7 insertions(+), 54 deletions(-) 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 d855af891..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 @@ -120,60 +120,6 @@ public class SingleUploadFragment extends Fragment { Log.d("Single Upload fragment", "Position:"+position+" "+getString(Utils.licenseNameFor(license))); licenseSpinner.setSelection(position); - licenseSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView parent, View view, int position, long id) { - - //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 licenseName = parent.getItemAtPosition(position).toString(); - - String license = Prefs.Licenses.CC_BY_SA_3; // default value - if(getString(R.string.license_name_cc0).equals(licenseName)) { - license = Prefs.Licenses.CC0; - } else if(getString(R.string.license_name_cc_by).equals(licenseName)) { - license = Prefs.Licenses.CC_BY_3; - } else if(getString(R.string.license_name_cc_by_sa).equals(licenseName)) { - license = Prefs.Licenses.CC_BY_SA_3; - } else if(getString(R.string.license_name_cc_by_four).equals(licenseName)) { - license = Prefs.Licenses.CC_BY_4; - } else if(getString(R.string.license_name_cc_by_sa_four).equals(licenseName)) { - license = Prefs.Licenses.CC_BY_SA_4; - } - - setLicenseSummary(license); - SharedPreferences.Editor editor = prefs.edit(); - editor.putString(Prefs.DEFAULT_LICENSE, license); - editor.apply(); - } - - @Override - public void onNothingSelected(AdapterView parent) { - - } - }); - - titleDescButton.setOnClickListener(new View.OnClickListener() - { - @Override - public void onClick(View v) - { - //Retrieve last title and desc entered - SharedPreferences titleDesc = PreferenceManager.getDefaultSharedPreferences(getActivity()); - String title = titleDesc.getString("Title", ""); - String desc = titleDesc.getString("Desc", ""); - Log.d(TAG, "Title: " + title + ", Desc: " + desc); - - titleEdit.setText(title); - descEdit.setText(desc); - } - }); - TextWatcher uploadEnabler = new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { } @@ -199,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;