From 6feed8cab11aea4fce0a0494e88e36aef9daefbb Mon Sep 17 00:00:00 2001 From: Dinu Kumarasiri Date: Sat, 13 May 2017 16:49:36 +0200 Subject: [PATCH] Add a new preference to set the upload limit --- .../fr/free/nrw/commons/settings/Prefs.java | 1 + .../commons/settings/SettingsFragment.java | 42 +++++++++++++++++++ app/src/main/res/values/strings.xml | 5 +++ app/src/main/res/xml/preferences.xml | 8 ++++ 4 files changed, 56 insertions(+) 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 f4ddd54ae..4c2209153 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 @@ -5,6 +5,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 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 68d174013..55048f544 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 @@ -1,10 +1,15 @@ package fr.free.nrw.commons.settings; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.SharedPreferences; import android.os.Bundle; import android.preference.CheckBoxPreference; +import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceFragment; +import android.preference.PreferenceManager; import fr.free.nrw.commons.R; import fr.free.nrw.commons.Utils; @@ -52,5 +57,42 @@ public class SettingsFragment extends PreferenceFragment { return true; } }); + + final EditTextPreference uploadLimit = (EditTextPreference) findPreference("uploads"); + SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); + int uploads = sharedPref.getInt(Prefs.UPLOADS_SHOWING, 100); + 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()) + .setTitle(R.string.maximum_limit) + .setMessage(R.string.maximum_limit_alert) + .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener(){ + public void onClick(DialogInterface dialog, int which) { + + } + }) + .setIcon(android.R.drawable.ic_dialog_alert) + .show(); + editor.putInt(Prefs.UPLOADS_SHOWING, 500); + uploadLimit.setSummary(500+""); + uploadLimit.setText(500+""); + }else{ + editor.putInt(Prefs.UPLOADS_SHOWING, Integer.parseInt(newValue.toString())); + uploadLimit.setSummary(newValue.toString()); + } + editor.apply(); + return true; + } + + }); + + } } \ 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 f1404b14d..f501975e8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -171,4 +171,9 @@ Tap this message (or hit back) to skip this step. Use Wikidata (Warning: disabling this may cause large mobile data consumption) pk.eyJ1IjoibWFza2FyYXZpdmVrIiwiYSI6ImNqMmxvdzFjMTAwMHYzM283ZWM3eW5tcDAifQ.ib5SZ9EVjwJe6GSKve0bcg + My Recent Upload Limit + Maximum Limit + Maximum limit should be 500 + Set Recent Upload Limit + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 847f01e1c..5b8778702 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -38,4 +38,12 @@ android:summary="@string/use_wikidata_summary" /> + + \ No newline at end of file