From d1fc670b19d5c7e81dae71bcf3f4c6df72cb2edb Mon Sep 17 00:00:00 2001 From: Dinu Kumarasiri Date: Sun, 14 May 2017 14:33:19 +0200 Subject: [PATCH 1/3] 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 2/3] 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 3/3] 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! }