| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
|
| index b12bb5c92b73e05fc001f2623ceed95da392fbd2..71ea4df7deaf6b9bf8ee60a7cec7a391ce3b12a0 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
|
| @@ -81,6 +81,7 @@
|
| // Keys for individual preferences.
|
| public static final String READ_WRITE_TOGGLE_KEY = "read_write_toggle";
|
| public static final String THIRD_PARTY_COOKIES_TOGGLE_KEY = "third_party_cookies";
|
| + public static final String NOTIFICATIONS_VIBRATE_TOGGLE_KEY = "notifications_vibrate";
|
| public static final String EXPLAIN_PROTECTED_MEDIA_KEY = "protected_content_learn_more";
|
| private static final String ADD_EXCEPTION_KEY = "add_exception";
|
| // Keys for Allowed/Blocked preference groups/headers.
|
| @@ -418,6 +419,7 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
| PrefServiceBridge.getInstance().setMicEnabled((boolean) newValue);
|
| } else if (mCategory.showNotificationsSites()) {
|
| PrefServiceBridge.getInstance().setNotificationsEnabled((boolean) newValue);
|
| + updateNotificationsVibrateCheckBox();
|
| } else if (mCategory.showPopupSites()) {
|
| PrefServiceBridge.getInstance().setAllowPopupsEnabled((boolean) newValue);
|
| } else if (mCategory.showProtectedMediaSites()) {
|
| @@ -448,6 +450,8 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
| getInfoForOrigins();
|
| } else if (THIRD_PARTY_COOKIES_TOGGLE_KEY.equals(preference.getKey())) {
|
| PrefServiceBridge.getInstance().setBlockThirdPartyCookiesEnabled(!((boolean) newValue));
|
| + } else if (NOTIFICATIONS_VIBRATE_TOGGLE_KEY.equals(preference.getKey())) {
|
| + PrefServiceBridge.getInstance().setNotificationsVibrateEnabled((boolean) newValue);
|
| }
|
| return true;
|
| }
|
| @@ -538,6 +542,16 @@ private void configureGlobalToggles() {
|
| getPreferenceScreen().removePreference(thirdPartyCookies);
|
| }
|
|
|
| + // Configure/hide the notifications vibrate toggle, as needed.
|
| + Preference notificationsVibrate =
|
| + getPreferenceScreen().findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
|
| + if (mCategory.showNotificationsSites()) {
|
| + notificationsVibrate.setOnPreferenceChangeListener(this);
|
| + updateNotificationsVibrateCheckBox();
|
| + } else {
|
| + getPreferenceScreen().removePreference(notificationsVibrate);
|
| + }
|
| +
|
| // Show/hide the link that explains protected media settings, as needed.
|
| if (!mCategory.showProtectedMediaSites()) {
|
| getPreferenceScreen().removePreference(
|
| @@ -652,6 +666,13 @@ public boolean isPreferenceControlledByPolicy(Preference preference) {
|
| });
|
| }
|
|
|
| + private void updateNotificationsVibrateCheckBox() {
|
| + ChromeBaseCheckBoxPreference preference =
|
| + (ChromeBaseCheckBoxPreference) getPreferenceScreen().findPreference(
|
| + NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
|
| + preference.setEnabled(PrefServiceBridge.getInstance().isNotificationsEnabled());
|
| + }
|
| +
|
| private void showManagedToast() {
|
| if (mCategory.isManagedByCustodian()) {
|
| ManagedPreferencesUtils.showManagedByParentToast(getActivity());
|
|
|