diff --git a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java index d77440bc838..e800811ef6c 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java @@ -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); + } } }; } diff --git a/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java index 295e67915df..1641eef5f03 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveSearchEnginesPreferences.java @@ -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( diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveSiteSettingsPreferencesBase.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveSiteSettingsPreferencesBase.java index b18a5182faa..1c6c2844d25 100644 --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveSiteSettingsPreferencesBase.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BraveSiteSettingsPreferencesBase.java @@ -20,8 +20,8 @@ public class BraveSiteSettingsPreferencesBase extends BaseSiteSettingsFragment { private static final String IDLE_DETECTION = "idle_detection"; private static final String DIVIDER_KEY = "divider"; private static final String PERMISSION_AUTOREVOCATION_KEY = "permission_autorevocation"; - private static final String ETHEREUM_CONNECTED_SITES_KEY = "ethereum_connected_sites"; - private static final String SOLANA_CONNECTED_SITES_KEY = "solana_connected_sites"; + public static final String ETHEREUM_CONNECTED_SITES_KEY = "ethereum_connected_sites"; + public static final String SOLANA_CONNECTED_SITES_KEY = "solana_connected_sites"; private final HashMap mRemovedPreferences = new HashMap<>();