From cfde1fbed4fcd4df2c78b6a20b3390e061cdaf17 Mon Sep 17 00:00:00 2001 From: AlexeyBarabash Date: Wed, 29 Apr 2026 11:36:42 +0300 Subject: [PATCH] [Android][cr148] Fix for VPN callout card when Settings Containment is on (#35982) Resolves https://github.com/brave/brave-browser/issues/55041 --- .../browser/vpn/settings/VpnCalloutPreference.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/vpn/settings/VpnCalloutPreference.java b/android/java/org/chromium/chrome/browser/vpn/settings/VpnCalloutPreference.java index 4b497fd6daf..e2f85dafc2b 100644 --- a/android/java/org/chromium/chrome/browser/vpn/settings/VpnCalloutPreference.java +++ b/android/java/org/chromium/chrome/browser/vpn/settings/VpnCalloutPreference.java @@ -20,6 +20,7 @@ import androidx.preference.PreferenceViewHolder; import org.chromium.chrome.R; import org.chromium.chrome.browser.InternetConnection; +import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.util.ConfigurationUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; @@ -40,9 +41,16 @@ public class VpnCalloutPreference extends Preference { boolean isTablet = DeviceFormFactor.isNonMultiDisplayContextOnTablet(getContext()); - int width = (int) (getContext().getResources().getDisplayMetrics().widthPixels * 1.00); - if (isTablet || ConfigurationUtils.isLandscape(getContext())) { - width = (int) dpToPx(getContext(), 390); + int width; + if (ChromeFeatureList.sAndroidSettingsContainment.isEnabled()) { + // With containment the card lives inside a padded rounded container — let it + // fill the available width rather than forcing the raw screen pixel width. + width = CardView.LayoutParams.MATCH_PARENT; + } else { + width = (int) (getContext().getResources().getDisplayMetrics().widthPixels * 1.00); + if (isTablet || ConfigurationUtils.isLandscape(getContext())) { + width = (int) dpToPx(getContext(), 390); + } } int height = CardView.LayoutParams.WRAP_CONTENT; ViewGroup.LayoutParams params = mainView.getLayoutParams();