Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/UsageAndCrashReportsPreferenceFragment.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/UsageAndCrashReportsPreferenceFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/UsageAndCrashReportsPreferenceFragment.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f2383e8420d530169c46a7ff2ad1ff355577a236 |
--- /dev/null |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/UsageAndCrashReportsPreferenceFragment.java |
@@ -0,0 +1,50 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.preferences.privacy; |
+ |
+import android.os.Bundle; |
+import android.preference.Preference; |
+import android.preference.Preference.OnPreferenceChangeListener; |
+import android.preference.PreferenceFragment; |
+ |
+import org.chromium.chrome.R; |
+import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; |
+import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
+ |
+/** |
+ * Fragment to manage the Usage and crash reports preference and to explain to |
+ * the user what it does. |
+ */ |
+public class UsageAndCrashReportsPreferenceFragment extends PreferenceFragment { |
+ private static final String PREF_USAGE_AND_CRASH_REPORTS_SWITCH = |
+ "usage_and_crash_reports_switch"; |
+ |
+ @Override |
+ public void onCreate(Bundle savedInstanceState) { |
+ super.onCreate(savedInstanceState); |
+ addPreferencesFromResource(R.xml.usage_and_crash_reports_preferences); |
+ getActivity().setTitle(R.string.usage_and_crash_reports_title); |
+ initUsageAndCrashReportsSwitch(); |
+ } |
+ |
+ private void initUsageAndCrashReportsSwitch() { |
+ ChromeSwitchPreference usageAndCrashReportsSwitch = |
+ (ChromeSwitchPreference) findPreference(PREF_USAGE_AND_CRASH_REPORTS_SWITCH); |
+ boolean isEnabled = PrivacyPreferencesManager.getInstance(getActivity()) |
+ .isUsageAndCrashReportingEnabled(); |
+ usageAndCrashReportsSwitch.setChecked(isEnabled); |
+ |
+ usageAndCrashReportsSwitch.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { |
+ @Override |
+ public boolean onPreferenceChange(Preference preference, Object newValue) { |
+ boolean isEnabled = (boolean) newValue; |
+ PrefServiceBridge.getInstance().setMetricsReportingEnabled(isEnabled); |
+ PrivacyPreferencesManager.getInstance(getActivity()) |
+ .initCrashUploadPreference(isEnabled); |
+ return true; |
+ } |
+ }); |
+ } |
+} |