diff --git a/packages/SystemUI/res/layout/preference_widget_switch_compat.xml b/packages/SystemUI/res/layout/preference_widget_switch_compat.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a749107ac6331656f7fc50941af2c2faaf3f41ab
--- /dev/null
+++ b/packages/SystemUI/res/layout/preference_widget_switch_compat.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<com.google.android.material.materialswitch.MaterialSwitch
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/switchWidget"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:background="@null"
+    android:clickable="false"
+    android:focusable="false"
+    android:theme="@style/Theme.Material3.DynamicColors.DayNight" />
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java
index 97dcfeca0a9b89e33db8639e33df9fb08b5f2e45..8a208fec96889795c2623d40d7e0d0c83430d00b 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java
@@ -24,7 +24,7 @@ import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceFragment;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -50,8 +50,8 @@ public class DemoModeFragment extends PreferenceFragment implements OnPreference
         "managed_profile",
     };
 
-    private SwitchPreference mEnabledSwitch;
-    private SwitchPreference mOnSwitch;
+    private SwitchPreferenceCompat mEnabledSwitch;
+    private SwitchPreferenceCompat mOnSwitch;
 
     private DemoModeController mDemoModeController;
     private GlobalSettings mGlobalSettings;
@@ -69,10 +69,10 @@ public class DemoModeFragment extends PreferenceFragment implements OnPreference
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
         Context context = getContext();
-        mEnabledSwitch = new SwitchPreference(context);
+        mEnabledSwitch = new SwitchPreferenceCompat(context);
         mEnabledSwitch.setTitle(R.string.enable_demo_mode);
         mEnabledSwitch.setOnPreferenceChangeListener(this);
-        mOnSwitch = new SwitchPreference(context);
+        mOnSwitch = new SwitchPreferenceCompat(context);
         mOnSwitch.setTitle(R.string.show_demo_mode);
         mOnSwitch.setEnabled(false);
         mOnSwitch.setOnPreferenceChangeListener(this);
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java
index 799e5af7e01d8d3878c69099116181d9e5fcafa6..94fdf4825766b8bdd538366a458cfdca5df44eef 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java
@@ -35,7 +35,7 @@ import android.widget.TextView;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceFragment;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.recyclerview.widget.RecyclerView.ViewHolder;
@@ -91,7 +91,7 @@ public class LockscreenFragment extends PreferenceFragment {
 
     private void setupGroup(String buttonSetting, String unlockKey) {
         Preference shortcut = findPreference(buttonSetting);
-        SwitchPreference unlock = (SwitchPreference) findPreference(unlockKey);
+        SwitchPreferenceCompat unlock = (SwitchPreferenceCompat) findPreference(unlockKey);
         addTunable((k, v) -> {
             boolean visible = !TextUtils.isEmpty(v);
             unlock.setVisible(visible);
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java
index 7635a84539ca8b27911391621b11c6a751f210b4..ba48a79f2e492e3d5922cf0c49af0eab6f1d68c2 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java
@@ -32,7 +32,7 @@ import android.view.View;
 import androidx.preference.PreferenceFragment;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 import com.android.internal.util.ArrayUtils;
 import com.android.systemui.Dependency;
@@ -110,7 +110,7 @@ public class PluginFragment extends PreferenceFragment {
                 // Don't manage privileged plugins, they are part of the OS.
                 return;
             }
-            SwitchPreference pref = new PluginPreference(prefContext, app, mPluginEnabler);
+            SwitchPreferenceCompat pref = new PluginPreference(prefContext, app, mPluginEnabler);
             pref.setSummary("Plugins: " + toString(plugins.get(app.packageName)));
             screen.addPreference(pref);
         });
@@ -148,7 +148,7 @@ public class PluginFragment extends PreferenceFragment {
         }
     };
 
-    private static class PluginPreference extends SwitchPreference {
+    private static class PluginPreference extends SwitchPreferenceCompat {
         private final boolean mHasSettings;
         private final PackageInfo mInfo;
         private final PluginEnabler mPluginEnabler;
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java
index cc0050b64d605ec3883a13d704f1bfe2ab2bf576..12992d981c7141e788ad730ed515f3d873d2e9d1 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java
@@ -22,7 +22,7 @@ import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.AttributeSet;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -32,7 +32,7 @@ import com.android.systemui.tuner.TunerService.Tunable;
 
 import java.util.Set;
 
-public class StatusBarSwitch extends SwitchPreference implements Tunable {
+public class StatusBarSwitch extends SwitchPreferenceCompat implements Tunable {
 
     private Set<String> mHideList;
 
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
index 1c441b39cc641fc9b23222db87c8dec60536ed7a..97ac97a23a27306947e26823f7bd9131cab26a43 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
@@ -5,14 +5,14 @@ import android.content.res.TypedArray;
 import android.provider.Settings;
 import android.util.AttributeSet;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.systemui.Dependency;
 import com.android.systemui.res.R;
 import com.android.systemui.tuner.TunerService.Tunable;
 
-public class TunerSwitch extends SwitchPreference implements Tunable {
+public class TunerSwitch extends SwitchPreferenceCompat implements Tunable {
 
     private final boolean mDefault;
     private final int mAction;