Wikinaut has uploaded a new change for review.
https://gerrit.wikimedia.org/r/247616
Change subject: fix T115776 preference option to disable the search history
......................................................................
fix T115776 preference option to disable the search history
+ added preference option to enable/disable the search history
+ when disabling, the search history is automatically deleted
+ added a new Prefs section "Privacy Settings"
Change-Id: I6697eca28e6683101100361cf3dd95d4860d3154
---
M app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
M app/src/main/java/org/wikipedia/settings/Prefs.java
M app/src/main/java/org/wikipedia/settings/SettingsFragment.java
M app/src/main/res/values/preference_keys.xml
M app/src/main/res/values/strings.xml
M app/src/main/res/xml/preferences.xml
6 files changed, 52 insertions(+), 10 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/16/247616/1
diff --git a/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
b/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
index d08097a..b4dfa83 100644
--- a/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
+++ b/app/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
@@ -11,6 +11,7 @@
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.page.PageActivity;
import org.wikipedia.settings.LanguagePreferenceDialog;
+import org.wikipedia.settings.Prefs;
import com.squareup.otto.Subscribe;
@@ -412,7 +413,7 @@
}
private void addRecentSearch(String title) {
- if (isValidQuery(title)) {
+ if (isValidQuery(title) && Prefs.isRememberSearchHistoryEnabled()) {
new SaveRecentSearchTask(new RecentSearch(title)).execute();
}
}
diff --git a/app/src/main/java/org/wikipedia/settings/Prefs.java
b/app/src/main/java/org/wikipedia/settings/Prefs.java
index 0b5dd29..d5d165a 100644
--- a/app/src/main/java/org/wikipedia/settings/Prefs.java
+++ b/app/src/main/java/org/wikipedia/settings/Prefs.java
@@ -99,6 +99,10 @@
return getBoolean(R.string.preference_key_auto_upload_crash_reports,
true);
}
+ public static boolean isRememberSearchHistoryEnabled() {
+ return getBoolean(R.string.preference_key_remember_search_history,
true);
+ }
+
public static boolean isShowDeveloperSettingsEnabled() {
return getBoolean(R.string.preference_key_show_developer_settings,
WikipediaApp.getInstance().isDevRelease());
diff --git a/app/src/main/java/org/wikipedia/settings/SettingsFragment.java
b/app/src/main/java/org/wikipedia/settings/SettingsFragment.java
index 449b881..b03ce3a 100644
--- a/app/src/main/java/org/wikipedia/settings/SettingsFragment.java
+++ b/app/src/main/java/org/wikipedia/settings/SettingsFragment.java
@@ -1,13 +1,20 @@
package org.wikipedia.settings;
import android.os.Bundle;
+import android.preference.Preference;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import org.wikipedia.R;
+import org.wikipedia.WikipediaApp;
+import org.wikipedia.search.DeleteAllRecentSearchesTask;
+
public class SettingsFragment extends PreferenceLoaderFragment {
+
+ private WikipediaApp app;
+
public static SettingsFragment newInstance() {
return new SettingsFragment();
}
@@ -22,6 +29,7 @@
public void loadPreferences() {
SettingsPreferenceLoader preferenceLoader = new
SettingsPreferenceLoader(this);
preferenceLoader.loadPreferences();
+
setupRememberSearchHistoryButton(findPreference(getString(R.string.preference_key_remember_search_history)));
}
@Override
@@ -64,4 +72,22 @@
private void invalidateOptionsMenu() {
getFragmentManager().invalidateOptionsMenu();
}
+
+ private void setupRememberSearchHistoryButton(Preference button) {
+
button.setOnPreferenceChangeListener(RememberSearchHistoryChangeListener());
+ }
+
+ private Preference.OnPreferenceChangeListener
RememberSearchHistoryChangeListener() {
+ return new Preference.OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object
newValue) {
+ if (! (Boolean) newValue) {
+ app = (WikipediaApp) getActivity().getApplicationContext();
+ new DeleteAllRecentSearchesTask(app).execute();
+ }
+ return true;
+ }
+ };
+ }
+
}
diff --git a/app/src/main/res/values/preference_keys.xml
b/app/src/main/res/values/preference_keys.xml
index 0c74af6..59108b3 100644
--- a/app/src/main/res/values/preference_keys.xml
+++ b/app/src/main/res/values/preference_keys.xml
@@ -38,4 +38,5 @@
<string name="preference_key_remote_log">remoteLog</string>
<!-- Note: this value _must_ match
net.hockeyapp.android.CrashManager.ALWAYS_SEND_KEY. -->
<string
name="preference_key_auto_upload_crash_reports">always_send_crash_reports</string>
+ <string
name="preference_key_remember_search_history">remember_search_history</string>
</resources>
diff --git a/app/src/main/res/values/strings.xml
b/app/src/main/res/values/strings.xml
index 42191ca..463fb43 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -135,6 +135,9 @@
<string name="create_account_button">Create account</string>
<string name="preferences_general_heading">General</string>
<string name="wikipedia_app_faq">Wikipedia App FAQ</string>
+ <string name="preferences_privacy_settings_heading">Privacy
Settings</string>
+ <string name="preference_title_remember_search_history">Remember search
history</string>
+ <string name="preference_summary_remember_search_history">Activate or
deactivate and delete your search history.</string>
<string name="zero_charged_verbiage">Wikipedia Zero is off</string>
<string name="zero_charged_verbiage_extended">Loading other articles may
incur data charges.</string>
<string name="zero_search_hint">Search Wikipedia Zero</string>
diff --git a/app/src/main/res/xml/preferences.xml
b/app/src/main/res/xml/preferences.xml
index 1ca51bb..932995e 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -18,6 +18,8 @@
android:title="@string/preference_title_show_link_previews"
android:summary="@string/preference_summary_show_link_previews"
/>
+ </PreferenceCategory>
+ <PreferenceCategory
android:title="@string/preferences_privacy_settings_heading">
<org.wikipedia.settings.CheckBoxPreferenceMultiLine
android:key="@string/preference_key_eventlogging_opt_in"
android:defaultValue="true"
@@ -30,22 +32,27 @@
android:title="@string/preference_title_auto_upload_crash_reports"
android:summary="@string/preference_summary_auto_upload_crash_reports"
/>
+ <org.wikipedia.settings.CheckBoxPreferenceMultiLine
+ android:key="@string/preference_key_remember_search_history"
+ android:defaultValue="true"
+ android:title="@string/preference_title_remember_search_history"
+
android:summary="@string/preference_summary_remember_search_history"
+ />
</PreferenceCategory>
<PreferenceCategory android:title="@string/zero_wikipedia_zero_heading">
<org.wikipedia.settings.CheckBoxPreferenceMultiLine
- android:key="zero_warn_when_leaving"
- android:title="@string/zero_warn_when_leaving"
- android:defaultValue="true"
- android:summary="@string/zero_warn_when_leaving_summary"
- />
+ android:key="zero_warn_when_leaving"
+ android:title="@string/zero_warn_when_leaving"
+ android:defaultValue="true"
+ android:summary="@string/zero_warn_when_leaving_summary"
+ />
<org.wikipedia.settings.PreferenceMultiLine
- android:title="@string/zero_webpage_title"
- android:summary="@string/zero_webpage_url">
+ android:title="@string/zero_webpage_title"
+ android:summary="@string/zero_webpage_url">
<intent android:action="android.intent.action.VIEW"
android:data="@string/zero_webpage_url"
- />
+ />
</org.wikipedia.settings.PreferenceMultiLine>
-
</PreferenceCategory>
<PreferenceCategory android:title="@string/about_activity_title">
<org.wikipedia.settings.PreferenceMultiLine
--
To view, visit https://gerrit.wikimedia.org/r/247616
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6697eca28e6683101100361cf3dd95d4860d3154
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Wikinaut <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits