diff --git a/android/java/org/chromium/chrome/browser/settings/privacy/BravePrivacySettings.java b/android/java/org/chromium/chrome/browser/settings/privacy/BravePrivacySettings.java index 98a4677a3b9..4a5da76c933 100644 --- a/android/java/org/chromium/chrome/browser/settings/privacy/BravePrivacySettings.java +++ b/android/java/org/chromium/chrome/browser/settings/privacy/BravePrivacySettings.java @@ -11,6 +11,7 @@ import android.support.v7.preference.Preference; import org.chromium.base.ContextUtils; import org.chromium.chrome.R; +import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.PrefServiceBridge; @@ -27,12 +28,16 @@ public class BravePrivacySettings extends PrivacySettings { private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions"; + private static final String PREF_AUTOCOMPLETE_TOP_SITES = "autocomplete_top_sites"; + private static final String PREF_AUTOCOMPLETE_BRAVE_SUGGESTED_SITES = "autocomplete_brave_suggested_sites"; private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; private final PrefServiceBridge mPrefServiceBridge = PrefServiceBridge.getInstance(); private final ManagedPreferenceDelegate mManagedPreferenceDelegate = createManagedPreferenceDelegate(); private ChromeSwitchPreference mSearchSuggestions; + private ChromeSwitchPreference mAutocompleteTopSites; + private ChromeSwitchPreference mAutocompleteBraveSuggestedSites; @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @@ -60,6 +65,12 @@ public class BravePrivacySettings extends PrivacySettings { mSearchSuggestions.setOnPreferenceChangeListener(this); mSearchSuggestions.setManagedPreferenceDelegate(mManagedPreferenceDelegate); + mAutocompleteTopSites = (ChromeSwitchPreference) findPreference(PREF_AUTOCOMPLETE_TOP_SITES); + mAutocompleteTopSites.setOnPreferenceChangeListener(this); + + mAutocompleteBraveSuggestedSites = (ChromeSwitchPreference) findPreference(PREF_AUTOCOMPLETE_BRAVE_SUGGESTED_SITES); + mAutocompleteBraveSuggestedSites.setOnPreferenceChangeListener(this); + updatePreferences(); } @@ -82,6 +93,11 @@ public class BravePrivacySettings extends PrivacySettings { sharedPreferencesEditor.apply(); } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { mPrefServiceBridge.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); + } else if (PREF_AUTOCOMPLETE_TOP_SITES.equals(key)) { + BravePrefServiceBridge.getInstance().setBoolean(BravePref.TOP_SITE_SUGGESTIONS_ENABLED, (boolean) newValue); + } else if (PREF_AUTOCOMPLETE_BRAVE_SUGGESTED_SITES.equals(key)) { + BravePrefServiceBridge.getInstance().setBoolean(BravePref.BRAVE_SUGGESTED_SITE_SUGGESTIONS_ENABLED, + (boolean) newValue); } return true; @@ -97,6 +113,12 @@ public class BravePrivacySettings extends PrivacySettings { removePreferenceIfPresent(PREF_SYNC_AND_SERVICES_LINK); mSearchSuggestions.setChecked(mPrefServiceBridge.getBoolean(Pref.SEARCH_SUGGEST_ENABLED)); mSearchSuggestions.setOrder(findPreference(PREF_CLEAR_BROWSING_DATA).getOrder() + 1); + mAutocompleteTopSites + .setChecked(BravePrefServiceBridge.getInstance().getBoolean(BravePref.TOP_SITE_SUGGESTIONS_ENABLED)); + mAutocompleteTopSites.setOrder(findPreference(PREF_CLEAR_BROWSING_DATA).getOrder() + 2); + mAutocompleteBraveSuggestedSites.setChecked( + BravePrefServiceBridge.getInstance().getBoolean(BravePref.BRAVE_SUGGESTED_SITE_SUGGESTIONS_ENABLED)); + mAutocompleteBraveSuggestedSites.setOrder(findPreference(PREF_CLEAR_BROWSING_DATA).getOrder() + 3); } private void removePreferenceIfPresent(String key) { diff --git a/android/java/res/xml/brave_privacy_preferences.xml b/android/java/res/xml/brave_privacy_preferences.xml index 5c3dda4cc99..cf4d09ff27b 100644 --- a/android/java/res/xml/brave_privacy_preferences.xml +++ b/android/java/res/xml/brave_privacy_preferences.xml @@ -32,4 +32,12 @@ android:title="@string/autocomplete_searches_and_urls_title" android:summary="@string/autocomplete_searches_and_urls_summary" android:persistent="false"/> + + diff --git a/browser/android/preferences/brave_prefs.h b/browser/android/preferences/brave_prefs.h index d46789bc6ad..9f0dabe34ca 100644 --- a/browser/android/preferences/brave_prefs.h +++ b/browser/android/preferences/brave_prefs.h @@ -7,6 +7,7 @@ #include +#include "brave/common/pref_names.h" #include "brave/components/ntp_background_images/common/pref_names.h" #include "build/build_config.h" @@ -17,6 +18,8 @@ enum BravePref { NTP_SHOW_SPONSORED_IMAGES_BACKGROUND_IMAGE = 10000, NTP_SHOW_SUPER_REFERRAL_THEMES_OPTION, NTP_SHOW_BACKGROUND_IMAGE, + TOP_SITE_SUGGESTIONS_ENABLED, + BRAVE_SUGGESTED_SITE_SUGGESTIONS_ENABLED, // BRAVE_PREF_NUM_PREFS must be the last entry. BRAVE_PREF_NUM_PREFS }; @@ -26,6 +29,8 @@ const char* const kBravePrefsExposedToJava[] = { ntp_background_images::prefs::kNewTabPageShowSponsoredImagesBackgroundImage, ntp_background_images::prefs::kNewTabPageSuperReferralThemesOption, ntp_background_images::prefs::kNewTabPageShowBackgroundImage, + kTopSiteSuggestionsEnabled, + kBraveSuggestedSiteSuggestionsEnabled }; static const int kBravePrefOffset = 10000; diff --git a/browser/ui/android/strings/android_chrome_strings.grd b/browser/ui/android/strings/android_chrome_strings.grd index b46b3be8021..5dfb3153572 100644 --- a/browser/ui/android/strings/android_chrome_strings.grd +++ b/browser/ui/android/strings/android_chrome_strings.grd @@ -4004,6 +4004,13 @@ Only you can see what your camera is looking at. The site can't see your camera' NFC is off for this device. Turn it on in <link>Android Settings</link>. + + + Show top sites in autocomplete + + + Show suggested sites in autocomplete +