169 lines
8.6 KiB
Diff
169 lines
8.6 KiB
Diff
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
|
Date: Sun, 4 Oct 2020 12:58:17 +0200
|
|
Subject: Move some account settings back to privacy settings
|
|
|
|
Search suggestions, autofill assistant and contextual search
|
|
---
|
|
.../java/res/xml/privacy_preferences.xml | 20 +++++++
|
|
.../privacy/settings/PrivacySettings.java | 60 ++++++++++++++++++-
|
|
.../strings/android_chrome_strings.grd | 4 ++
|
|
3 files changed, 83 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
|
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
|
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
|
@@ -55,4 +55,24 @@
|
|
android:key="privacy_sandbox"
|
|
android:title="@string/prefs_privacy_sandbox"
|
|
android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
|
|
+
|
|
+ <PreferenceCategory
|
|
+ android:key="services_category"
|
|
+ android:title="@string/services_category_title">
|
|
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
+ android:key="search_suggestions"
|
|
+ android:title="@string/autocomplete_searches_and_urls_title"
|
|
+ android:summary="@string/autocomplete_searches_and_urls_summary"
|
|
+ android:persistent="false"/>
|
|
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
|
+ android:key="autofill_assistant"
|
|
+ android:title="@string/prefs_autofill_assistant_title"
|
|
+ android:summary="@string/prefs_autofill_assistant_summary"
|
|
+ android:persistent="false"/>
|
|
+ <org.chromium.components.browser_ui.settings.ChromeBasePreference
|
|
+ android:key="contextual_search"
|
|
+ android:title="@string/contextual_search_title"
|
|
+ android:fragment="org.chromium.chrome.browser.contextualsearch.ContextualSearchPreferenceFragment"/>
|
|
+ </PreferenceCategory>
|
|
+
|
|
</PreferenceScreen>
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
|
@@ -20,6 +20,7 @@ import org.chromium.base.ContextUtils;
|
|
import org.chromium.base.BuildInfo;
|
|
import org.chromium.base.Log;
|
|
import org.chromium.chrome.R;
|
|
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
|
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
import org.chromium.chrome.browser.preferences.Pref;
|
|
@@ -45,6 +46,13 @@ import org.chromium.components.user_prefs.UserPrefs;
|
|
import org.chromium.ui.text.NoUnderlineClickableSpan;
|
|
import org.chromium.ui.text.SpanApplier;
|
|
|
|
+import androidx.annotation.Nullable;
|
|
+import androidx.preference.PreferenceCategory;
|
|
+import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
|
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
|
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
|
+
|
|
/**
|
|
* Fragment to keep track of the all the privacy related preferences.
|
|
*/
|
|
@@ -66,6 +74,18 @@ public class PrivacySettings
|
|
|
|
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
|
|
|
+ // moved from SyncAndServicesSettings.java
|
|
+ private static final String PREF_SERVICES_CATEGORY = "services_category";
|
|
+ private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
|
|
+ private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
|
|
+ public static final String PREF_AUTOFILL_ASSISTANT = "autofill_assistant";
|
|
+ private ChromeSwitchPreference mSearchSuggestions;
|
|
+ private @Nullable ChromeSwitchPreference mAutofillAssistant;
|
|
+ private @Nullable Preference mContextualSearch;
|
|
+ private final SharedPreferencesManager mSharedPreferencesManager =
|
|
+ SharedPreferencesManager.getInstance();
|
|
+ private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
|
|
+
|
|
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
|
|
|
@Override
|
|
@@ -96,6 +116,29 @@ public class PrivacySettings
|
|
|
|
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
|
|
|
|
+ mSearchSuggestions = (ChromeSwitchPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
|
|
+ mSearchSuggestions.setOnPreferenceChangeListener(this);
|
|
+ mSearchSuggestions.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
|
+
|
|
+ mAutofillAssistant = (ChromeSwitchPreference) findPreference(PREF_AUTOFILL_ASSISTANT);
|
|
+ if (shouldShowAutofillAssistantPreference()) {
|
|
+ mAutofillAssistant.setOnPreferenceChangeListener(this);
|
|
+ mAutofillAssistant.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
|
+ mAutofillAssistant.setChecked(mSharedPreferencesManager.readBoolean(
|
|
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, false));
|
|
+ } else {
|
|
+ PreferenceCategory servicesCategory =
|
|
+ (PreferenceCategory) findPreference(PREF_SERVICES_CATEGORY);
|
|
+ servicesCategory.removePreference(mAutofillAssistant);
|
|
+ mAutofillAssistant = null;
|
|
+ }
|
|
+
|
|
+ mContextualSearch = findPreference(PREF_CONTEXTUAL_SEARCH);
|
|
+ boolean isContextualSearchEnabled =
|
|
+ !ContextualSearchManager.isContextualSearchDisabled();
|
|
+ mContextualSearch.setSummary(
|
|
+ isContextualSearchEnabled ? R.string.text_on : R.string.text_off);
|
|
+
|
|
ChromeSwitchPreference canMakePaymentPref =
|
|
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
|
|
canMakePaymentPref.setOnPreferenceChangeListener(this);
|
|
@@ -156,6 +199,11 @@ public class PrivacySettings
|
|
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
|
|
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
|
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
|
+ } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
|
+ prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
|
|
+ } else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
|
|
+ mSharedPreferencesManager.writeBoolean(
|
|
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
|
|
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
|
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
|
|
(boolean) newValue);
|
|
@@ -175,6 +223,16 @@ public class PrivacySettings
|
|
|
|
public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
|
|
|
|
+ /**
|
|
+ * This checks whether Autofill Assistant is enabled and was shown at least once (only then
|
|
+ * will the AA switch be assigned a value).
|
|
+ */
|
|
+ private boolean shouldShowAutofillAssistantPreference() {
|
|
+ return ChromeFeatureList.isEnabled(ChromeFeatureList.AUTOFILL_ASSISTANT)
|
|
+ && mSharedPreferencesManager.contains(
|
|
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED);
|
|
+ }
|
|
+
|
|
@Override
|
|
public void onResume() {
|
|
super.onResume();
|
|
@@ -185,7 +243,7 @@ public class PrivacySettings
|
|
* Updates the summaries for several preferences.
|
|
*/
|
|
public void updateSummaries() {
|
|
- PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
|
|
+ mSearchSuggestions.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
|
|
|
|
ChromeSwitchPreference canMakePaymentPref =
|
|
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
|
|
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
|
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
|
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
|
@@ -399,6 +399,10 @@ CHAR_LIMIT guidelines:
|
|
No statistics or crash reports are sent to Google
|
|
</message>
|
|
|
|
+ <message name="IDS_SERVICES_CATEGORY_TITLE" desc="Title for the group of preferences that control non-personalized Google services. This group contains preferences for data that is not tied to user's Google Account.">
|
|
+ Other services
|
|
+ </message>
|
|
+
|
|
<!-- Search engine settings -->
|
|
<message name="IDS_SEARCH_ENGINE_SETTINGS" desc="Title for Search Engine settings. [CHAR_LIMIT=32]">
|
|
Search engine
|
|
--
|
|
2.17.1
|
|
|