From cd9dbfdef511f3ad39c7360ba51ecf2ef7316d0f Mon Sep 17 00:00:00 2001 From: samartnik <30602739+samartnik@users.noreply.github.com> Date: Fri, 22 May 2026 11:35:58 -0400 Subject: [PATCH] [Android] Unify switch style across the app (#36652) --- .../layout/activity_brave_vpn_support.xml | 14 +++++------ .../brave-res/layout/brave_news_settings.xml | 2 +- .../layout/brave_shields_main_layout.xml | 5 +--- .../layout/brave_shields_switcher.xml | 3 +-- .../brave-res/layout/item_custom_filter.xml | 2 +- .../brave-res/layout/item_filter_list.xml | 5 ++-- .../java/brave-res/values/brave_styles.xml | 5 ---- .../settings/BraveNewsPreferencesV2.java | 6 ++--- .../browser/shields/BraveShieldsHandler.java | 25 ++++++++++--------- .../shields/ContentFilteringAdapter.java | 11 ++++---- .../activities/BraveVpnSupportActivity.java | 17 +++++++------ 11 files changed, 44 insertions(+), 51 deletions(-) diff --git a/android/java/brave-res/layout/activity_brave_vpn_support.xml b/android/java/brave-res/layout/activity_brave_vpn_support.xml index 9ef86663648..eb4db086fe0 100644 --- a/android/java/brave-res/layout/activity_brave_vpn_support.xml +++ b/android/java/brave-res/layout/activity_brave_vpn_support.xml @@ -100,7 +100,7 @@ - - - - - - - - - - diff --git a/android/java/brave-res/layout/item_custom_filter.xml b/android/java/brave-res/layout/item_custom_filter.xml index c3989e74b6c..0b6d0f226f9 100644 --- a/android/java/brave-res/layout/item_custom_filter.xml +++ b/android/java/brave-res/layout/item_custom_filter.xml @@ -48,7 +48,7 @@ android:textSize="14sp" android:textColor="@color/filter_summary_color"/> - - + android:layout_marginEnd="16dp"/> - - diff --git a/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java b/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java index 5a01474408c..2fbbcbf7c39 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java @@ -19,12 +19,12 @@ import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; -import androidx.appcompat.widget.SwitchCompat; import androidx.core.content.ContextCompat; import com.airbnb.lottie.LottieAnimationView; import com.airbnb.lottie.LottieProperty; import com.airbnb.lottie.model.KeyPath; +import com.google.android.material.materialswitch.MaterialSwitch; import org.chromium.base.BravePreferenceKeys; import org.chromium.base.ThreadUtils; @@ -60,7 +60,7 @@ public class BraveNewsPreferencesV2 extends BravePreferenceFragment private LinearLayout mParentLayout; private LinearLayout mOptinLayout; - private SwitchCompat mSwitchShowNews; + private MaterialSwitch mSwitchShowNews; private TextView mTvSearch; private TextView mTvFollowingCount; private Button mBtnTurnOnNews; @@ -99,7 +99,7 @@ public class BraveNewsPreferencesV2 extends BravePreferenceFragment if (view != null) { mParentLayout = (LinearLayout) view.findViewById(R.id.layout_parent); mOptinLayout = (LinearLayout) view.findViewById(R.id.layout_optin_card); - mSwitchShowNews = (SwitchCompat) view.findViewById(R.id.switch_show_news); + mSwitchShowNews = (MaterialSwitch) view.findViewById(R.id.switch_show_news); mDivider = view.findViewById(R.id.divider); mLayoutSwitch = view.findViewById(R.id.layout_switch); mBtnTurnOnNews = (Button) view.findViewById(R.id.btn_turn_on_news); diff --git a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java index 23eb6ef7b23..29619f60b22 100644 --- a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java +++ b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java @@ -43,9 +43,10 @@ import android.widget.RadioGroup; import android.widget.Spinner; import android.widget.TextView; -import androidx.appcompat.widget.SwitchCompat; import androidx.core.content.res.ResourcesCompat; +import com.google.android.material.materialswitch.MaterialSwitch; + import org.chromium.base.BraveFeatureList; import org.chromium.base.Log; import org.chromium.chrome.R; @@ -150,11 +151,11 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal private View mHardwareButtonMenuAnchor; private final Map mTabsStat = Collections.synchronizedMap(new HashMap()); - private SwitchCompat mBraveShieldsBlockingScriptsSwitch; + private MaterialSwitch mBraveShieldsBlockingScriptsSwitch; private OnCheckedChangeListener mBraveShieldsBlockingScriptsChangeListener; - private SwitchCompat mBraveShieldsForgetFirstPartyStorageSwitch; + private MaterialSwitch mBraveShieldsForgetFirstPartyStorageSwitch; private OnCheckedChangeListener mBraveShieldsForgetFirstPartyStorageChangeListener; - private SwitchCompat mFingerprintingSwitch; + private MaterialSwitch mFingerprintingSwitch; private OnCheckedChangeListener mBraveShieldsFingerprintingChangeListener; private View mPopupView; @@ -541,7 +542,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal TextView mSiteText = mMainLayout.findViewById(R.id.site_text); mSiteText.setText(mHost.replaceFirst("^(http[s]?://www\\.|http[s]?://|www\\.)", "")); - SwitchCompat mShieldMainSwitch = mMainLayout.findViewById(R.id.site_switch); + MaterialSwitch mShieldMainSwitch = mMainLayout.findViewById(R.id.site_switch); ImageView helpImage = (ImageView) mMainLayout.findViewById(R.id.help); ImageView shareImage = (ImageView) mMainLayout.findViewById(R.id.share); @@ -1454,7 +1455,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal setUpMainLayout(); } - private void setupBlockingScriptsSwitchClick(SwitchCompat braveShieldsBlockingScriptsSwitch) { + private void setupBlockingScriptsSwitchClick(MaterialSwitch braveShieldsBlockingScriptsSwitch) { if (null == braveShieldsBlockingScriptsSwitch) { return; } @@ -1479,7 +1480,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } private void setupBlockingScriptsSwitch( - SwitchCompat braveShieldsBlockingScriptsSwitch, boolean fromTopSwitch) { + MaterialSwitch braveShieldsBlockingScriptsSwitch, boolean fromTopSwitch) { if (null == braveShieldsBlockingScriptsSwitch) { return; } @@ -1508,7 +1509,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } private void setupForgetFirstPartyStorageSwitchClick( - SwitchCompat braveShieldsForgetFirstPartyStorageSwitch) { + MaterialSwitch braveShieldsForgetFirstPartyStorageSwitch) { if (null == braveShieldsForgetFirstPartyStorageSwitch) { return; } @@ -1531,7 +1532,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } private void setupForgetFirstPartyStorageSwitch( - SwitchCompat braveShieldsForgetFirstPartyStorageSwitch, boolean fromTopSwitch) { + MaterialSwitch braveShieldsForgetFirstPartyStorageSwitch, boolean fromTopSwitch) { if (null == braveShieldsForgetFirstPartyStorageSwitch) { return; } @@ -1561,7 +1562,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } } - private void setupFingerprintingSwitchClick(SwitchCompat fingerprintingSwitch) { + private void setupFingerprintingSwitchClick(MaterialSwitch fingerprintingSwitch) { if (null == fingerprintingSwitch) { return; } @@ -1588,7 +1589,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } private void setupFingerprintingSwitch( - SwitchCompat braveShieldsFingerprintingSwitch, boolean fromTopSwitch) { + MaterialSwitch braveShieldsFingerprintingSwitch, boolean fromTopSwitch) { if (null == braveShieldsFingerprintingSwitch) { return; } @@ -1622,7 +1623,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } } - private void setupMainSwitchClick(SwitchCompat braveShieldsSwitch) { + private void setupMainSwitchClick(MaterialSwitch braveShieldsSwitch) { if (null == braveShieldsSwitch) { return; } diff --git a/android/java/org/chromium/chrome/browser/shields/ContentFilteringAdapter.java b/android/java/org/chromium/chrome/browser/shields/ContentFilteringAdapter.java index 12de31ad341..8904b6ab626 100644 --- a/android/java/org/chromium/chrome/browser/shields/ContentFilteringAdapter.java +++ b/android/java/org/chromium/chrome/browser/shields/ContentFilteringAdapter.java @@ -14,10 +14,11 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.appcompat.widget.SwitchCompat; import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.RecyclerView; +import com.google.android.material.materialswitch.MaterialSwitch; + import org.chromium.brave_shields.mojom.SubscriptionInfo; import org.chromium.chrome.R; import org.chromium.mojo_base.mojom.Value; @@ -286,7 +287,7 @@ public class ContentFilteringAdapter extends RecyclerView.Adapter