[Android] Respect Brave Origin policies in settings search (#34985)
Remove policy-disabled features from the settings search index so they don't appear in search results when disabled by Brave Origin or enterprise policy. Resolves: https://github.com/brave/brave-browser/issues/53530
This commit is contained in:
@@ -57,6 +57,8 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||
import org.chromium.components.browser_ui.settings.search.PreferenceParser;
|
||||
import org.chromium.components.browser_ui.settings.search.SearchIndexProvider;
|
||||
import org.chromium.components.browser_ui.settings.search.SettingsIndexData;
|
||||
import org.chromium.components.browser_ui.site_settings.BraveSiteSettingsPreferencesBase;
|
||||
import org.chromium.components.browser_ui.site_settings.SiteSettings;
|
||||
import org.chromium.components.user_prefs.UserPrefs;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
|
||||
@@ -707,6 +709,27 @@ public abstract class BraveMainPreferencesBase extends BravePreferenceFragment
|
||||
if (!BraveSearchWidgetUtils.isRequestPinAppWidgetSupported()) {
|
||||
indexData.removeEntry(getUniqueId(PREF_HOME_SCREEN_WIDGET));
|
||||
}
|
||||
// Remove features disabled by Brave Origin or enterprise policy.
|
||||
if (BraveLeoPrefUtils.isLeoDisabledByPolicy(profile)) {
|
||||
indexData.removeEntry(getUniqueId(PREF_BRAVE_LEO));
|
||||
}
|
||||
if (BraveNewsPolicy.isDisabledByPolicy(profile)) {
|
||||
indexData.removeEntry(getUniqueId(PREF_BRAVE_NEWS_V2));
|
||||
}
|
||||
if (BraveVpnPolicy.isDisabledByPolicy(profile)) {
|
||||
indexData.removeEntry(getUniqueId(PREF_BRAVE_VPN));
|
||||
}
|
||||
if (BraveWalletPolicy.isDisabledByPolicy(profile)) {
|
||||
indexData.removeEntry(getUniqueId(PREF_BRAVE_WALLET));
|
||||
// Also remove wallet-related entries from site settings.
|
||||
String siteSettingsFrag = SiteSettings.class.getName();
|
||||
indexData.removeEntryForKey(
|
||||
siteSettingsFrag,
|
||||
BraveSiteSettingsPreferencesBase.ETHEREUM_CONNECTED_SITES_KEY);
|
||||
indexData.removeEntryForKey(
|
||||
siteSettingsFrag,
|
||||
BraveSiteSettingsPreferencesBase.SOLANA_CONNECTED_SITES_KEY);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
+3
-1
@@ -268,7 +268,9 @@ public class BraveSearchEnginesPreferences extends BravePreferenceFragment
|
||||
profile.getPrimaryOtrProfile(/* createIfNeeded= */ true),
|
||||
true));
|
||||
|
||||
if (!BraveConfig.WEB_DISCOVERY_ENABLED) {
|
||||
if (!BraveConfig.WEB_DISCOVERY_ENABLED
|
||||
|| UserPrefs.get(profile)
|
||||
.isManagedPreference(WebDiscoveryPrefs.WEB_DISCOVERY_ENABLED)) {
|
||||
indexData.removeEntryForKey(frag, PREF_SEND_WEB_DISCOVERY);
|
||||
} else {
|
||||
indexData.updateEntryForKey(
|
||||
|
||||
Reference in New Issue
Block a user