From b08a0a39640e9d7c9fb29fe1736d94dc44faa558 Mon Sep 17 00:00:00 2001 From: Adam Jones Date: Mon, 8 May 2017 00:30:56 +0100 Subject: [PATCH 01/11] Remove unused code in settingsFragment --- .../nrw/commons/settings/SettingsFragment.java | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java index 68d174013..c67f745da 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java @@ -19,23 +19,9 @@ public class SettingsFragment extends PreferenceFragment { // Update spinner to show selected value as summary ListPreference licensePreference = (ListPreference) findPreference(Prefs.DEFAULT_LICENSE); - // WARNING: ORDERING NEEDS TO MATCH FOR THE LICENSE NAMES AND DISPLAY VALUES - licensePreference.setEntries(new String[]{ - getString(R.string.license_name_cc0), - getString(R.string.license_name_cc_by_3_0), - getString(R.string.license_name_cc_by_4_0), - getString(R.string.license_name_cc_by_sa_3_0), - getString(R.string.license_name_cc_by_sa_4_0) - }); - licensePreference.setEntryValues(new String[]{ - Prefs.Licenses.CC0, - Prefs.Licenses.CC_BY_3, - Prefs.Licenses.CC_BY_4, - Prefs.Licenses.CC_BY_SA_3, - Prefs.Licenses.CC_BY_SA_4 - }); - licensePreference.setSummary(getString(Utils.licenseNameFor(licensePreference.getValue()))); + + // Keep summary updated when changing value licensePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { From 2b91abed22990b8760ee2b4e8e9288c2b065c0fb Mon Sep 17 00:00:00 2001 From: Adam Jones Date: Tue, 9 May 2017 19:59:42 +0100 Subject: [PATCH 02/11] Hardcode arrays.xml values --- app/src/main/res/values/arrays.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 80dd58a0e..8db2c9ccc 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -8,10 +8,10 @@ @string/license_name_cc_by_sa_four - @string/license_name_cc0 - @string/license_name_cc_by_3_0 - @string/license_name_cc_by_4_0 - @string/license_name_cc_by_sa_3_0 - @string/license_name_cc_by_sa_4_0 + CC0 + CC BY 3.0 + CC BY 4.0 + CC BY-SA 3.0 + CC BY-SA 4.0 \ No newline at end of file From 87fe6cf5859993527a852cd0a8eeec34d70dffe4 Mon Sep 17 00:00:00 2001 From: Adam Jones Date: Wed, 10 May 2017 22:51:19 +0100 Subject: [PATCH 03/11] Create untranslatable strings for pref constants --- app/src/main/res/values/arrays.xml | 10 +++++----- app/src/main/res/values/strings.xml | 5 +++++ app/src/main/res/xml/preferences.xml | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 8db2c9ccc..3cfe500d4 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -8,10 +8,10 @@ @string/license_name_cc_by_sa_four - CC0 - CC BY 3.0 - CC BY 4.0 - CC BY-SA 3.0 - CC BY-SA 4.0 + @string/license_pref_cc0 + @string/license_pref_cc_by_3_0 + @string/license_pref_cc_by_4_0 + @string/license_pref_cc_by_sa_3_0 + @string/license_pref_cc_by_sa_4_0 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 67ddd2396..b39719d57 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -99,7 +99,9 @@ Tap this message (or hit back) to skip this step. Attribution-ShareAlike 3.0 Attribution 3.0 CC0 + CC0 CC BY-SA 3.0 + CC BY-SA 3.0 CC BY-SA 3.0 (Austria) CC BY-SA 3.0 (Germany) CC BY-SA 3.0 (Estonia) @@ -111,8 +113,11 @@ Tap this message (or hit back) to skip this step. CC BY-SA 3.0 (Poland) CC BY-SA 3.0 (Romania) CC BY 3.0 + CC BY 3.0 CC BY-SA 4.0 + CC BY-SA 4.0 CC BY 4.0 + CC BY 4.0 CC Zero own-pd CC BY-SA 2.5 diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 847f01e1c..a75cfbd5a 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -8,7 +8,7 @@ android:title="@string/preference_license" android:entries="@array/pref_defaultLicense_entries" android:entryValues="@array/pref_defaultLicense_values" - android:defaultValue="@string/license_name_cc_by_sa_4_0" + android:defaultValue="@string/license_pref_cc_by_sa_4_0" /> Date: Wed, 10 May 2017 22:51:33 +0100 Subject: [PATCH 04/11] Check in SingleUploadFragment that spinner position is valid before applying --- .../fr/free/nrw/commons/upload/SingleUploadFragment.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 e96c8768c..716af6c79 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 @@ -115,6 +115,13 @@ public class SingleUploadFragment extends Fragment { licenseSpinner.setAdapter(adapter); int position = licenseItems.indexOf(getString(Utils.licenseNameFor(license))); + + // Check position is valid + if(position < 0) { + Timber.d("Invalid position: %d. Using default license", position); + position = 4; + } + Timber.d("Position: %d %s", position, getString(Utils.licenseNameFor(license))); licenseSpinner.setSelection(position); From e5d7caf5f24869e292695a992abd8c473cd4295d Mon Sep 17 00:00:00 2001 From: Adam Jones Date: Wed, 10 May 2017 23:15:15 +0100 Subject: [PATCH 05/11] Update SettingsActivityTest to correctly pass test on LicenseSpinner --- .../java/fr/free/nrw/commons/SettingsActivityTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/androidTest/java/fr/free/nrw/commons/SettingsActivityTest.java b/app/src/androidTest/java/fr/free/nrw/commons/SettingsActivityTest.java index f2047506b..7ba617730 100644 --- a/app/src/androidTest/java/fr/free/nrw/commons/SettingsActivityTest.java +++ b/app/src/androidTest/java/fr/free/nrw/commons/SettingsActivityTest.java @@ -84,9 +84,9 @@ public class SettingsActivityTest { .atPosition(0) .perform(ViewActions.click()); - // click "CC BY-4.0" + // click "Attribution 4.0" Espresso.onView( - ViewMatchers.withText(R.string.license_name_cc_by_4_0) + ViewMatchers.withText(R.string.license_name_cc_by_four) ).perform(ViewActions.click()); // click "License" (the first item) @@ -95,10 +95,10 @@ public class SettingsActivityTest { .atPosition(0) .perform(ViewActions.click()); - // test the value remains "CC BY-4.0" + // test the value remains "Attribution 4.0" Espresso.onView(ViewMatchers.isChecked()) .check(ViewAssertions.matches( - ViewMatchers.withText(R.string.license_name_cc_by_4_0) + ViewMatchers.withText(R.string.license_name_cc_by_four) )); } From d9afd0e4bfe4e71b36b2655595bbb0cdf7c5e38c Mon Sep 17 00:00:00 2001 From: Adam Jones Date: Wed, 10 May 2017 23:16:35 +0100 Subject: [PATCH 06/11] Improve code style --- .../java/fr/free/nrw/commons/upload/SingleUploadFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 716af6c79..2cf23318c 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 @@ -117,7 +117,7 @@ public class SingleUploadFragment extends Fragment { int position = licenseItems.indexOf(getString(Utils.licenseNameFor(license))); // Check position is valid - if(position < 0) { + if (position < 0) { Timber.d("Invalid position: %d. Using default license", position); position = 4; } From a8c950dee9c0a1d6ca0ba62ce6cc74be03d872ba Mon Sep 17 00:00:00 2001 From: Yusuke Matsubara Date: Sun, 14 May 2017 21:01:26 +0900 Subject: [PATCH 07/11] Restore comments --- .../java/fr/free/nrw/commons/settings/SettingsFragment.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java index f30711c02..790ae2da8 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java @@ -25,6 +25,8 @@ public class SettingsFragment extends PreferenceFragment { // Update spinner to show selected value as summary ListPreference licensePreference = (ListPreference) findPreference(Prefs.DEFAULT_LICENSE); licensePreference.setSummary(getString(Utils.licenseNameFor(licensePreference.getValue()))); + + // Keep summary updated when changing value licensePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { @@ -81,4 +83,4 @@ public class SettingsFragment extends PreferenceFragment { } -} \ No newline at end of file +} From d1fc670b19d5c7e81dae71bcf3f4c6df72cb2edb Mon Sep 17 00:00:00 2001 From: Dinu Kumarasiri Date: Sun, 14 May 2017 14:33:19 +0200 Subject: [PATCH 08/11] Fix the issue of not reloading the cursor after the setting changed --- .../contributions/ContributionsActivity.java | 12 +++++++++-- .../fr/free/nrw/commons/settings/Prefs.java | 1 + .../commons/settings/SettingsFragment.java | 20 ++++++++++--------- app/src/main/res/values/strings.xml | 2 +- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 7900151c7..8043f99be 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -42,8 +42,7 @@ public class ContributionsActivity AdapterView.OnItemClickListener, MediaDetailPagerFragment.MediaDetailProvider, FragmentManager.OnBackStackChangedListener, - ContributionsListFragment.SourceRefresher -{ + ContributionsListFragment.SourceRefresher { private Cursor allContributions; private ContributionsListFragment contributionsList; @@ -92,6 +91,15 @@ public class ContributionsActivity @Override protected void onResume() { super.onResume(); + SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); + boolean isSettingsChanged = + sharedPreferences.getBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED,false); + SharedPreferences.Editor editor = sharedPreferences.edit(); + editor.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED,false); + editor.apply(); + if(isSettingsChanged){ + refreshSource(); + } } @Override diff --git a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java index 4c2209153..722733393 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java @@ -6,6 +6,7 @@ public class Prefs { public static String TRACKING_ENABLED = "eventLogging"; public static final String DEFAULT_LICENSE = "defaultLicense"; public static final String UPLOADS_SHOWING = "uploadsshowing"; + public static final String IS_CONTRIBUTION_COUNT_CHANGED = "ccontributionCountChanged"; public static class Licenses { public static final String CC_BY_SA_3 = "CC BY-SA 3.0"; diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java index d5eeda7e7..c2d508acd 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java @@ -41,12 +41,13 @@ public class SettingsFragment extends PreferenceFragment { }); licensePreference.setSummary(getString(Utils.licenseNameFor(licensePreference.getValue()))); - licensePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener(){ - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - preference.setSummary(getString(Utils.licenseNameFor((String) newValue))); - return true; - } + licensePreference + .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener(){ + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + preference.setSummary(getString(Utils.licenseNameFor((String) newValue))); + return true; + } }); CheckBoxPreference themePreference = (CheckBoxPreference) findPreference("theme"); @@ -59,17 +60,16 @@ public class SettingsFragment extends PreferenceFragment { }); final EditTextPreference uploadLimit = (EditTextPreference) findPreference("uploads"); - SharedPreferences sharedPref = PreferenceManager + final SharedPreferences sharedPref = PreferenceManager .getDefaultSharedPreferences(getActivity().getApplicationContext()); int uploads = sharedPref.getInt(Prefs.UPLOADS_SHOWING, 100); + uploadLimit.setText(uploads + ""); uploadLimit.setSummary(uploads + ""); uploadLimit.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { int value = Integer.parseInt(newValue.toString()); - final SharedPreferences sharedPref = PreferenceManager - .getDefaultSharedPreferences(getActivity().getApplicationContext()); final SharedPreferences.Editor editor = sharedPref.edit(); if (value > 500) { new AlertDialog.Builder(getActivity()) @@ -83,10 +83,12 @@ public class SettingsFragment extends PreferenceFragment { .setIcon(android.R.drawable.ic_dialog_alert) .show(); editor.putInt(Prefs.UPLOADS_SHOWING, 500); + editor.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED,true); uploadLimit.setSummary(500 + ""); uploadLimit.setText(500 + ""); } else { editor.putInt(Prefs.UPLOADS_SHOWING, Integer.parseInt(newValue.toString())); + editor.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED,true); uploadLimit.setSummary(newValue.toString()); } editor.apply(); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f501975e8..4ec2b88ff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -173,7 +173,7 @@ Tap this message (or hit back) to skip this step. pk.eyJ1IjoibWFza2FyYXZpdmVrIiwiYSI6ImNqMmxvdzFjMTAwMHYzM283ZWM3eW5tcDAifQ.ib5SZ9EVjwJe6GSKve0bcg My Recent Upload Limit Maximum Limit - Maximum limit should be 500 + Unable to display more than 500 Set Recent Upload Limit From c426451ffbf359d45a21a245d969179b8911425c Mon Sep 17 00:00:00 2001 From: Dinu Kumarasiri Date: Sun, 14 May 2017 14:38:06 +0200 Subject: [PATCH 09/11] Fix Codecy Failures --- .../free/nrw/commons/contributions/ContributionsActivity.java | 2 +- .../java/fr/free/nrw/commons/settings/SettingsFragment.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 8043f99be..9be4b836c 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -97,7 +97,7 @@ public class ContributionsActivity SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED,false); editor.apply(); - if(isSettingsChanged){ + if (isSettingsChanged) { refreshSource(); } } diff --git a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java index c2d508acd..65709c6da 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/SettingsFragment.java @@ -42,7 +42,7 @@ public class SettingsFragment extends PreferenceFragment { licensePreference.setSummary(getString(Utils.licenseNameFor(licensePreference.getValue()))); licensePreference - .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener(){ + .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { preference.setSummary(getString(Utils.licenseNameFor((String) newValue))); From bb5776c59d9b06132df869f412a2483a36f9e78b Mon Sep 17 00:00:00 2001 From: Dinu Kumarasiri Date: Sun, 14 May 2017 16:16:29 +0200 Subject: [PATCH 10/11] Set initial load limit to 500 --- .../nrw/commons/contributions/ContributionsSyncAdapter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsSyncAdapter.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsSyncAdapter.java index bdc870457..81510e23b 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsSyncAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsSyncAdapter.java @@ -12,7 +12,6 @@ import android.os.Bundle; import android.os.RemoteException; import android.text.TextUtils; -import fr.free.nrw.commons.MWApi; import org.mediawiki.api.ApiResult; import java.io.IOException; @@ -20,6 +19,7 @@ import java.util.ArrayList; import java.util.Date; import fr.free.nrw.commons.CommonsApplication; +import fr.free.nrw.commons.MWApi; import fr.free.nrw.commons.Utils; import timber.log.Timber; @@ -31,7 +31,7 @@ public class ContributionsSyncAdapter extends AbstractThreadedSyncAdapter { private int getLimit() { - int limit = 100; + int limit = 500; Timber.d("Max number of uploads set to %d", limit); return limit; // FIXME: Parameterize! } From 358c5862b625012f2cfef928997a2d13b3ba0aed Mon Sep 17 00:00:00 2001 From: Adam Jones Date: Sun, 14 May 2017 15:53:19 +0100 Subject: [PATCH 11/11] Move pref values into newly created keys.xml Hopefully translatewiki won't try to translate these --- app/src/main/res/values/keys.xml | 8 ++++++++ app/src/main/res/values/strings.xml | 5 ----- 2 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 app/src/main/res/values/keys.xml diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml new file mode 100644 index 000000000..a2bb6860d --- /dev/null +++ b/app/src/main/res/values/keys.xml @@ -0,0 +1,8 @@ + + + CC0 + CC BY 3.0 + CC BY-SA 3.0 + CC BY 4.0 + CC BY-SA 4.0 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 68345ede5..bad2512de 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -102,9 +102,7 @@ Tap this message (or hit back) to skip this step. Attribution-ShareAlike 3.0 Attribution 3.0 CC0 - CC0 CC BY-SA 3.0 - CC BY-SA 3.0 CC BY-SA 3.0 (Austria) CC BY-SA 3.0 (Germany) CC BY-SA 3.0 (Estonia) @@ -116,11 +114,8 @@ Tap this message (or hit back) to skip this step. CC BY-SA 3.0 (Poland) CC BY-SA 3.0 (Romania) CC BY 3.0 - CC BY 3.0 CC BY-SA 4.0 - CC BY-SA 4.0 CC BY 4.0 - CC BY 4.0 CC Zero own-pd CC BY-SA 2.5