Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java |
index efd8ebedcc018ea73e9ea9f36bcd0bea72e25a89..7a0b551471b7e713c159c0eed2749afed84fa54b 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java |
@@ -10,6 +10,7 @@ import android.preference.Preference; |
import android.preference.Preference.OnPreferenceChangeListener; |
import android.preference.Preference.OnPreferenceClickListener; |
import android.preference.PreferenceFragment; |
+import android.preference.PreferenceScreen; |
import android.view.Menu; |
import android.view.MenuInflater; |
import android.view.MenuItem; |
@@ -46,6 +47,7 @@ public class PrivacyPreferences extends PreferenceFragment |
"crash_dump_upload_no_cellular"; |
private static final String PREF_DO_NOT_TRACK = "do_not_track"; |
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; |
+ private static final String PREF_USAGE_AND_CRASH_REPORTING = "usage_and_crash_reports"; |
private ClearBrowsingDataDialogFragment mClearBrowsingDataDialogFragment; |
private ManagedPreferenceDelegate mManagedPreferenceDelegate; |
@@ -53,12 +55,16 @@ public class PrivacyPreferences extends PreferenceFragment |
@Override |
public void onCreate(Bundle savedInstanceState) { |
super.onCreate(savedInstanceState); |
- PrivacyPreferencesManager.getInstance(getActivity()).migrateNetworkPredictionPreferences(); |
+ |
+ PrivacyPreferencesManager privacyPrefManager = |
+ PrivacyPreferencesManager.getInstance(getActivity()); |
+ privacyPrefManager.migrateNetworkPredictionPreferences(); |
addPreferencesFromResource(R.xml.privacy_preferences); |
getActivity().setTitle(R.string.prefs_privacy); |
setHasOptionsMenu(true); |
mManagedPreferenceDelegate = createManagedPreferenceDelegate(); |
+ PreferenceScreen preferenceScreen = getPreferenceScreen(); |
NetworkPredictionPreference networkPredictionPref = |
(NetworkPredictionPreference) findPreference(PREF_NETWORK_PREDICTIONS); |
@@ -67,15 +73,14 @@ public class PrivacyPreferences extends PreferenceFragment |
NetworkPredictionOptions networkPredictionOptions = PrefServiceBridge.getInstance() |
.getNetworkPredictionOptions(); |
- boolean isMobileNetworkCapable = |
- PrivacyPreferencesManager.getInstance(getActivity()).isMobileNetworkCapable(); |
+ boolean isMobileNetworkCapable = privacyPrefManager.isMobileNetworkCapable(); |
if (isMobileNetworkCapable) { |
- getPreferenceScreen().removePreference(networkPredictionNoCellularPref); |
+ preferenceScreen.removePreference(networkPredictionNoCellularPref); |
networkPredictionPref.setValue(networkPredictionOptions.enumToString()); |
networkPredictionPref.setOnPreferenceChangeListener(this); |
networkPredictionPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); |
} else { |
- getPreferenceScreen().removePreference(networkPredictionPref); |
+ preferenceScreen.removePreference(networkPredictionPref); |
networkPredictionNoCellularPref.setChecked( |
networkPredictionOptions != NetworkPredictionOptions.NETWORK_PREDICTION_NEVER); |
networkPredictionNoCellularPref.setOnPreferenceChangeListener(this); |
@@ -87,15 +92,21 @@ public class PrivacyPreferences extends PreferenceFragment |
(CrashDumpUploadPreference) findPreference(PREF_CRASH_DUMP_UPLOAD); |
ChromeBaseCheckBoxPreference uploadCrashDumpNoCellularPref = |
(ChromeBaseCheckBoxPreference) findPreference(PREF_CRASH_DUMP_UPLOAD_NO_CELLULAR); |
- |
- if (isMobileNetworkCapable) { |
- getPreferenceScreen().removePreference(uploadCrashDumpNoCellularPref); |
- uploadCrashDumpPref.setOnPreferenceChangeListener(this); |
- uploadCrashDumpPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); |
+ if (privacyPrefManager.isCellularUploadingEnabled()) { |
+ preferenceScreen.removePreference(uploadCrashDumpNoCellularPref); |
+ preferenceScreen.removePreference(uploadCrashDumpPref); |
} else { |
- getPreferenceScreen().removePreference(uploadCrashDumpPref); |
- uploadCrashDumpNoCellularPref.setOnPreferenceChangeListener(this); |
- uploadCrashDumpNoCellularPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); |
+ preferenceScreen.removePreference(findPreference(PREF_USAGE_AND_CRASH_REPORTING)); |
+ if (isMobileNetworkCapable) { |
+ preferenceScreen.removePreference(uploadCrashDumpNoCellularPref); |
+ uploadCrashDumpPref.setOnPreferenceChangeListener(this); |
+ uploadCrashDumpPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); |
+ } else { |
+ preferenceScreen.removePreference(uploadCrashDumpPref); |
+ uploadCrashDumpNoCellularPref.setOnPreferenceChangeListener(this); |
+ uploadCrashDumpNoCellularPref.setManagedPreferenceDelegate( |
+ mManagedPreferenceDelegate); |
+ } |
} |
ChromeBaseCheckBoxPreference navigationErrorPref = |
@@ -109,7 +120,7 @@ public class PrivacyPreferences extends PreferenceFragment |
searchSuggestionsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); |
if (!((Preferences) getActivity()).isContextualSearchEnabled()) { |
- getPreferenceScreen().removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); |
+ preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); |
} |
ButtonPreference clearBrowsingData = |
@@ -204,6 +215,17 @@ public class PrivacyPreferences extends PreferenceFragment |
contextualPref.setSummary(getActivity().getResources().getText(R.string.text_on)); |
} |
} |
+ Preference usageAndCrashReportingPref = findPreference(PREF_USAGE_AND_CRASH_REPORTING); |
+ if (usageAndCrashReportingPref != null) { |
+ if (PrivacyPreferencesManager.getInstance(getActivity()) |
+ .isUsageAndCrashReportingEnabled()) { |
+ usageAndCrashReportingPref.setSummary( |
+ getActivity().getResources().getText(R.string.text_on)); |
+ } else { |
+ usageAndCrashReportingPref.setSummary( |
+ getActivity().getResources().getText(R.string.text_off)); |
+ } |
+ } |
} |
private ManagedPreferenceDelegate createManagedPreferenceDelegate() { |