| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: fgei <fgei@gmail.com> |
| Date: Fri, 20 Aug 2021 16:13:42 +0000 |
| Subject: [PATCH] Move search suggestions back to privacy section. |
| |
| --- |
| .../java/res/xml/privacy_preferences_ext.xml | 5 +++++ |
| .../privacy/settings/PrivacySettingsExt.java | 20 +++++++++++++++++++ |
| 2 files changed, 25 insertions(+) |
| |
| diff --git a/chrome/android/java/res/xml/privacy_preferences_ext.xml b/chrome/android/java/res/xml/privacy_preferences_ext.xml |
| index a352cd657b1b9..01e8c8217afed 100644 |
| --- a/chrome/android/java/res/xml/privacy_preferences_ext.xml |
| +++ b/chrome/android/java/res/xml/privacy_preferences_ext.xml |
| @@ -5,5 +5,10 @@ that can be found in the LICENSE file. |
| --> |
| <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" |
| xmlns:app="http://schemas.android.com/apk/res-auto"> |
| + <org.chromium.components.browser_ui.settings.ChromeSwitchPreference |
| + android:key="search_suggestions" |
| + android:title="@string/improve_search_suggestions_title" |
| + android:summary="@string/improve_search_suggestions_summary" |
| + android:persistent="false"/> |
| </PreferenceScreen> |
| |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java |
| index fa6ef4589d6e9..6391047465ee2 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettingsExt.java |
| @@ -25,6 +25,8 @@ import org.chromium.components.user_prefs.UserPrefs; |
| |
| final class PrivacySettingsExt { |
| |
| + private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions"; |
| + |
| private static final Preference.OnPreferenceChangeListener getListener(@NonNull Profile profile) { |
| return (pref, val) -> { |
| PrefService prefService = UserPrefs.get(profile); |
| @@ -32,6 +34,9 @@ final class PrivacySettingsExt { |
| return false; |
| } |
| String key = pref.getKey(); |
| + if (PREF_SEARCH_SUGGESTIONS.equals(key)) { |
| + prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) val); |
| + } |
| return true; |
| }; |
| } |
| @@ -45,6 +50,9 @@ final class PrivacySettingsExt { |
| return false; |
| } |
| String key = pref.getKey(); |
| + if (PREF_SEARCH_SUGGESTIONS.equals(key)) { |
| + return prefService.isManagedPreference(Pref.SEARCH_SUGGEST_ENABLED); |
| + } |
| return false; |
| } |
| }; |
| @@ -63,10 +71,22 @@ final class PrivacySettingsExt { |
| int SECURITY_PREFERENCES_ORDER = |
| ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_SANDBOX_SETTINGS_4) ? 2 : 9999; |
| SettingsUtils.addPreferencesFromResource(prefFragment, R.xml.privacy_preferences_ext); |
| + ChromeSwitchPreference searchSuggestionsPref = |
| + (ChromeSwitchPreference) prefFragment.findPreference(PREF_SEARCH_SUGGESTIONS); |
| + if (searchSuggestionsPref != null) { |
| + searchSuggestionsPref.setOrder(PRIVACY_PREFERENCES_ORDER); |
| + searchSuggestionsPref.setOnPreferenceChangeListener(getListener(profile)); |
| + searchSuggestionsPref.setManagedPreferenceDelegate(getDelegate(profile)); |
| + } |
| } |
| |
| static void updatePreferences(@NonNull PreferenceFragmentCompat prefFragment, @NonNull Profile profile) { |
| ThreadUtils.checkUiThread(); |
| PrefService prefService = UserPrefs.get(profile); |
| + ChromeSwitchPreference searchSuggestionsPref = |
| + (ChromeSwitchPreference) prefFragment.findPreference(PREF_SEARCH_SUGGESTIONS); |
| + SettingsExtUtils.safelyUpdateSwitchPreference(/* switchPref */ searchSuggestionsPref, |
| + /* newSummary*/ null, |
| + /* newCheckedValue*/ prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED)); |
| } |
| } |