Cleanup of settings menu
- Removed obsolete items
- Rearranged similar items together
- Reduced the depth of menu
Change-Id: I693dbb2b3c8cb244329be965f49ab288b73efa1a
diff --git a/src/com/android/browser/BrowserYesNoPreference.java b/src/com/android/browser/BrowserYesNoPreference.java
index e8d6af9..966d968 100644
--- a/src/com/android/browser/BrowserYesNoPreference.java
+++ b/src/com/android/browser/BrowserYesNoPreference.java
@@ -16,16 +16,73 @@
package com.android.browser;
+import android.app.Activity;
import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
import android.preference.DialogPreference;
+import android.preference.PreferenceManager;
import android.util.AttributeSet;
import android.util.Log;
+import android.view.View;
class BrowserYesNoPreference extends DialogPreference {
+ private SharedPreferences mPrefs;
+ private Context mContext;
// This is the constructor called by the inflater
public BrowserYesNoPreference(Context context, AttributeSet attrs) {
super(context, attrs);
+ mPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ mContext = context;
+ }
+
+ @Override
+ protected View onCreateDialogView() {
+ if (PreferenceKeys.PREF_CLEAR_SELECTED_DATA.equals(getKey())) {
+ String dialogMessage = mContext.getString(R.string.pref_privacy_clear_selected_dlg);
+ boolean itemSelected = false;
+
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_CACHE, false)) {
+ dialogMessage = dialogMessage.concat("\n\t" +
+ mContext.getString(R.string.pref_privacy_clear_cache));
+ itemSelected = true;
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_COOKIES, false)) {
+ dialogMessage = dialogMessage.concat("\n\t" +
+ mContext.getString(R.string.pref_privacy_clear_cookies));
+ itemSelected = true;
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_HISTORY, false)) {
+ dialogMessage = dialogMessage.concat("\n\t" +
+ mContext.getString(R.string.pref_privacy_clear_history));
+ itemSelected = true;
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_FORM_DATA, false)) {
+ dialogMessage = dialogMessage.concat("\n\t" +
+ mContext.getString(R.string.pref_privacy_clear_form_data));
+ itemSelected = true;
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_PASSWORDS, false)) {
+ dialogMessage = dialogMessage.concat("\n\t" +
+ mContext.getString(R.string.pref_privacy_clear_passwords));
+ itemSelected = true;
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_GEOLOCATION_ACCESS,
+ false)) {
+ dialogMessage = dialogMessage.concat("\n\t" +
+ mContext.getString(R.string.pref_privacy_clear_geolocation_access));
+ itemSelected = true;
+ }
+
+ if (!itemSelected) {
+ setDialogMessage(R.string.pref_select_items);
+ } else {
+ setDialogMessage(dialogMessage);
+ }
+ }
+
+ return super.onCreateDialogView();
}
@Override
@@ -37,24 +94,33 @@
return;
setEnabled(false);
BrowserSettings settings = BrowserSettings.getInstance();
- if (PreferenceKeys.PREF_PRIVACY_CLEAR_CACHE.equals(getKey())) {
- settings.clearCache();
- settings.clearDatabases();
- } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_COOKIES.equals(getKey())) {
- settings.clearCookies();
- } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_HISTORY.equals(getKey())) {
- settings.clearHistory();
- } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_FORM_DATA.equals(getKey())) {
- settings.clearFormData();
- } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_PASSWORDS.equals(getKey())) {
- settings.clearPasswords();
+ if (PreferenceKeys.PREF_CLEAR_SELECTED_DATA.equals(getKey())) {
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_CACHE, false)) {
+ settings.clearCache();
+ settings.clearDatabases();
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_COOKIES, false)) {
+ settings.clearCookies();
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_HISTORY, false)) {
+ settings.clearHistory();
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_FORM_DATA, false)) {
+ settings.clearFormData();
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_PASSWORDS, false)) {
+ settings.clearPasswords();
+ }
+ if (mPrefs.getBoolean(PreferenceKeys.PREF_PRIVACY_CLEAR_GEOLOCATION_ACCESS,
+ false)) {
+ settings.clearLocationAccess();
+ }
+
+ setEnabled(true);
} else if (PreferenceKeys.PREF_RESET_DEFAULT_PREFERENCES.equals(
getKey())) {
settings.resetDefaultPreferences();
setEnabled(true);
- } else if (PreferenceKeys.PREF_PRIVACY_CLEAR_GEOLOCATION_ACCESS.equals(
- getKey())) {
- settings.clearLocationAccess();
}
}
}