Commit a3374926 authored by Natalie Chouinard's avatar Natalie Chouinard Committed by Commit Bot

Migrate Usage & Crash Report Preferences

Migrate the Usage and Crash Reports Preference Fragment from the
deprecated Framework preferences to the preferences support library.

Bug: 968592
Change-Id: I7603dccab366bc6964b2d79473bf7227e8619c09
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1670147Reviewed-by: default avatarBoris Sazonov <bsazonov@chromium.org>
Reviewed-by: default avatarTheresa <twellington@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#671826}
parent baf4c9c2
...@@ -3,21 +3,21 @@ ...@@ -3,21 +3,21 @@
Use of this source code is governed by a BSD-style license that can be Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file. --> found in the LICENSE file. -->
<PreferenceScreen <android.support.v7.preference.PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<org.chromium.chrome.browser.preferences.ChromeSwitchPreference <org.chromium.chrome.browser.preferences.ChromeSwitchPreferenceCompat
android:key="usage_and_crash_reports_switch" android:key="usage_and_crash_reports_switch"
android:summaryOn="@string/text_on" android:summaryOn="@string/text_on"
android:summaryOff="@string/text_off" android:summaryOff="@string/text_off"
app:drawDivider="true"/> app:drawDivider="true"/>
<org.chromium.chrome.browser.preferences.TextMessagePreference <org.chromium.chrome.browser.preferences.TextMessagePreferenceCompat
android:title="@string/usage_and_crash_reports_description_legacy"/> android:title="@string/usage_and_crash_reports_description_legacy"/>
<org.chromium.chrome.browser.preferences.LearnMorePreference <org.chromium.chrome.browser.preferences.LearnMorePreferenceCompat
android:key="usage_and_crash_reports_learn_more" android:key="usage_and_crash_reports_learn_more"
app:helpContext="@string/help_context_usage_reports"/> app:helpContext="@string/help_context_usage_reports"/>
</PreferenceScreen> </android.support.v7.preference.PreferenceScreen>
\ No newline at end of file \ No newline at end of file
...@@ -5,13 +5,11 @@ ...@@ -5,13 +5,11 @@
package org.chromium.chrome.browser.preferences.privacy; package org.chromium.chrome.browser.preferences.privacy;
import android.os.Bundle; import android.os.Bundle;
import android.preference.Preference; import android.support.v7.preference.PreferenceFragmentCompat;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceFragment;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.metrics.UmaSessionStats; import org.chromium.chrome.browser.metrics.UmaSessionStats;
import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; import org.chromium.chrome.browser.preferences.ChromeSwitchPreferenceCompat;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.preferences.PreferenceUtils; import org.chromium.chrome.browser.preferences.PreferenceUtils;
...@@ -19,31 +17,27 @@ import org.chromium.chrome.browser.preferences.PreferenceUtils; ...@@ -19,31 +17,27 @@ import org.chromium.chrome.browser.preferences.PreferenceUtils;
* Fragment to manage the Usage and crash reports preference and to explain to * Fragment to manage the Usage and crash reports preference and to explain to
* the user what it does. * the user what it does.
*/ */
public class UsageAndCrashReportsPreferenceFragment extends PreferenceFragment { public class UsageAndCrashReportsPreferenceFragment extends PreferenceFragmentCompat {
private static final String PREF_USAGE_AND_CRASH_REPORTS_SWITCH = private static final String PREF_USAGE_AND_CRASH_REPORTS_SWITCH =
"usage_and_crash_reports_switch"; "usage_and_crash_reports_switch";
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
super.onCreate(savedInstanceState);
PreferenceUtils.addPreferencesFromResource(this, R.xml.usage_and_crash_reports_preferences); PreferenceUtils.addPreferencesFromResource(this, R.xml.usage_and_crash_reports_preferences);
getActivity().setTitle(R.string.usage_and_crash_reports_title_legacy); getActivity().setTitle(R.string.usage_and_crash_reports_title_legacy);
initUsageAndCrashReportsSwitch(); initUsageAndCrashReportsSwitch();
} }
private void initUsageAndCrashReportsSwitch() { private void initUsageAndCrashReportsSwitch() {
ChromeSwitchPreference usageAndCrashReportsSwitch = ChromeSwitchPreferenceCompat usageAndCrashReportsSwitch =
(ChromeSwitchPreference) findPreference(PREF_USAGE_AND_CRASH_REPORTS_SWITCH); (ChromeSwitchPreferenceCompat) findPreference(PREF_USAGE_AND_CRASH_REPORTS_SWITCH);
boolean enabled = boolean enabled =
PrivacyPreferencesManager.getInstance().isUsageAndCrashReportingPermittedByUser(); PrivacyPreferencesManager.getInstance().isUsageAndCrashReportingPermittedByUser();
usageAndCrashReportsSwitch.setChecked(enabled); usageAndCrashReportsSwitch.setChecked(enabled);
usageAndCrashReportsSwitch.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { usageAndCrashReportsSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
@Override UmaSessionStats.changeMetricsReportingConsent((boolean) newValue);
public boolean onPreferenceChange(Preference preference, Object newValue) { return true;
UmaSessionStats.changeMetricsReportingConsent((boolean) newValue);
return true;
}
}); });
usageAndCrashReportsSwitch.setManagedPreferenceDelegate( usageAndCrashReportsSwitch.setManagedPreferenceDelegate(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment