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

Reply via email to