diff --git a/res/drawable-sw600dp-night/accessibility_button_preview_base.xml b/res/drawable-night/accessibility_button_preview_base_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_button_preview_base.xml
rename to res/drawable-night/accessibility_button_preview_base_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_button_preview_large_floating_menu.xml b/res/drawable-night/accessibility_button_preview_large_floating_menu_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_button_preview_large_floating_menu.xml
rename to res/drawable-night/accessibility_button_preview_large_floating_menu_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_button_preview_small_floating_menu.xml b/res/drawable-night/accessibility_button_preview_small_floating_menu_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_button_preview_small_floating_menu.xml
rename to res/drawable-night/accessibility_button_preview_small_floating_menu_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_button_preview_three_finger.xml b/res/drawable-night/accessibility_button_preview_three_finger_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_button_preview_three_finger.xml
rename to res/drawable-night/accessibility_button_preview_three_finger_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_button_preview_two_finger.xml b/res/drawable-night/accessibility_button_preview_two_finger_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_button_preview_two_finger.xml
rename to res/drawable-night/accessibility_button_preview_two_finger_tablet.xml
diff --git a/res/drawable-night/accessibility_captions_banner.xml b/res/drawable-night/accessibility_captioning_banner.xml
similarity index 100%
rename from res/drawable-night/accessibility_captions_banner.xml
rename to res/drawable-night/accessibility_captioning_banner.xml
diff --git a/res/drawable-sw600dp-night/accessibility_captioning_banner.xml b/res/drawable-night/accessibility_captioning_banner_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_captioning_banner.xml
rename to res/drawable-night/accessibility_captioning_banner_tablet.xml
diff --git a/res/drawable-night/ic_illustration_fullscreen.xml b/res/drawable-night/accessibility_magnification_mode_fullscreen.xml
similarity index 100%
rename from res/drawable-night/ic_illustration_fullscreen.xml
rename to res/drawable-night/accessibility_magnification_mode_fullscreen.xml
diff --git a/res/drawable-sw600dp-night/ic_illustration_fullscreen.xml b/res/drawable-night/accessibility_magnification_mode_fullscreen_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/ic_illustration_fullscreen.xml
rename to res/drawable-night/accessibility_magnification_mode_fullscreen_tablet.xml
diff --git a/res/drawable-night/ic_illustration_switch.xml b/res/drawable-night/accessibility_magnification_mode_switch.xml
similarity index 100%
rename from res/drawable-night/ic_illustration_switch.xml
rename to res/drawable-night/accessibility_magnification_mode_switch.xml
diff --git a/res/drawable-sw600dp-night/ic_illustration_switch.xml b/res/drawable-night/accessibility_magnification_mode_switch_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/ic_illustration_switch.xml
rename to res/drawable-night/accessibility_magnification_mode_switch_tablet.xml
diff --git a/res/drawable-night/ic_illustration_window.xml b/res/drawable-night/accessibility_magnification_mode_window.xml
similarity index 100%
rename from res/drawable-night/ic_illustration_window.xml
rename to res/drawable-night/accessibility_magnification_mode_window.xml
diff --git a/res/drawable-sw600dp-night/ic_illustration_window.xml b/res/drawable-night/accessibility_magnification_mode_window_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/ic_illustration_window.xml
rename to res/drawable-night/accessibility_magnification_mode_window_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_shortcut_type_hardware.xml b/res/drawable-night/accessibility_shortcut_type_hardware_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_shortcut_type_hardware.xml
rename to res/drawable-night/accessibility_shortcut_type_hardware_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_shortcut_type_software_floating.xml b/res/drawable-night/accessibility_shortcut_type_software_floating_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_shortcut_type_software_floating.xml
rename to res/drawable-night/accessibility_shortcut_type_software_floating_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_shortcut_type_software_gesture.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_shortcut_type_software_gesture.xml
rename to res/drawable-night/accessibility_shortcut_type_software_gesture_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_shortcut_type_software_gesture_talkback.xml
rename to res/drawable-night/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
diff --git a/res/drawable-sw600dp-night/accessibility_shortcut_type_software.xml b/res/drawable-night/accessibility_shortcut_type_software_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp-night/accessibility_shortcut_type_software.xml
rename to res/drawable-night/accessibility_shortcut_type_software_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_button_preview_base.xml b/res/drawable/accessibility_button_preview_base_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_button_preview_base.xml
rename to res/drawable/accessibility_button_preview_base_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_button_preview_large_floating_menu.xml b/res/drawable/accessibility_button_preview_large_floating_menu_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_button_preview_large_floating_menu.xml
rename to res/drawable/accessibility_button_preview_large_floating_menu_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_button_preview_small_floating_menu.xml b/res/drawable/accessibility_button_preview_small_floating_menu_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_button_preview_small_floating_menu.xml
rename to res/drawable/accessibility_button_preview_small_floating_menu_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_button_preview_three_finger.xml b/res/drawable/accessibility_button_preview_three_finger_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_button_preview_three_finger.xml
rename to res/drawable/accessibility_button_preview_three_finger_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_button_preview_two_finger.xml b/res/drawable/accessibility_button_preview_two_finger_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_button_preview_two_finger.xml
rename to res/drawable/accessibility_button_preview_two_finger_tablet.xml
diff --git a/res/drawable/accessibility_captions_banner.xml b/res/drawable/accessibility_captioning_banner.xml
similarity index 100%
rename from res/drawable/accessibility_captions_banner.xml
rename to res/drawable/accessibility_captioning_banner.xml
diff --git a/res/drawable-sw600dp/accessibility_captioning_banner.xml b/res/drawable/accessibility_captioning_banner_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_captioning_banner.xml
rename to res/drawable/accessibility_captioning_banner_tablet.xml
diff --git a/res/drawable/ic_illustration_fullscreen.xml b/res/drawable/accessibility_magnification_mode_fullscreen.xml
similarity index 100%
rename from res/drawable/ic_illustration_fullscreen.xml
rename to res/drawable/accessibility_magnification_mode_fullscreen.xml
diff --git a/res/drawable-sw600dp/ic_illustration_fullscreen.xml b/res/drawable/accessibility_magnification_mode_fullscreen_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/ic_illustration_fullscreen.xml
rename to res/drawable/accessibility_magnification_mode_fullscreen_tablet.xml
diff --git a/res/drawable/ic_illustration_switch.xml b/res/drawable/accessibility_magnification_mode_switch.xml
similarity index 100%
rename from res/drawable/ic_illustration_switch.xml
rename to res/drawable/accessibility_magnification_mode_switch.xml
diff --git a/res/drawable-sw600dp/ic_illustration_switch.xml b/res/drawable/accessibility_magnification_mode_switch_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/ic_illustration_switch.xml
rename to res/drawable/accessibility_magnification_mode_switch_tablet.xml
diff --git a/res/drawable/ic_illustration_window.xml b/res/drawable/accessibility_magnification_mode_window.xml
similarity index 100%
rename from res/drawable/ic_illustration_window.xml
rename to res/drawable/accessibility_magnification_mode_window.xml
diff --git a/res/drawable-sw600dp/ic_illustration_window.xml b/res/drawable/accessibility_magnification_mode_window_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/ic_illustration_window.xml
rename to res/drawable/accessibility_magnification_mode_window_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_shortcut_type_hardware.xml b/res/drawable/accessibility_shortcut_type_hardware_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_shortcut_type_hardware.xml
rename to res/drawable/accessibility_shortcut_type_hardware_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_shortcut_type_software_floating.xml b/res/drawable/accessibility_shortcut_type_software_floating_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_shortcut_type_software_floating.xml
rename to res/drawable/accessibility_shortcut_type_software_floating_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_shortcut_type_software_gesture.xml b/res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_shortcut_type_software_gesture.xml
rename to res/drawable/accessibility_shortcut_type_software_gesture_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_shortcut_type_software_gesture_talkback.xml b/res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_shortcut_type_software_gesture_talkback.xml
rename to res/drawable/accessibility_shortcut_type_software_gesture_talkback_tablet.xml
diff --git a/res/drawable-sw600dp/accessibility_shortcut_type_software.xml b/res/drawable/accessibility_shortcut_type_software_tablet.xml
similarity index 100%
rename from res/drawable-sw600dp/accessibility_shortcut_type_software.xml
rename to res/drawable/accessibility_shortcut_type_software_tablet.xml
diff --git a/res/raw-sw600dp/accessibility_color_inversion_banner.json b/res/raw/accessibility_color_inversion_banner_tablet.json
similarity index 100%
rename from res/raw-sw600dp/accessibility_color_inversion_banner.json
rename to res/raw/accessibility_color_inversion_banner_tablet.json
diff --git a/res/raw-sw600dp/accessibility_magnification_banner.json b/res/raw/accessibility_magnification_banner_tablet.json
similarity index 100%
rename from res/raw-sw600dp/accessibility_magnification_banner.json
rename to res/raw/accessibility_magnification_banner_tablet.json
diff --git a/res/raw-sw600dp/accessibility_shortcut_type_triple_tap.json b/res/raw/accessibility_shortcut_type_triple_tap_tablet.json
similarity index 100%
rename from res/raw-sw600dp/accessibility_shortcut_type_triple_tap.json
rename to res/raw/accessibility_shortcut_type_triple_tap_tablet.json
diff --git a/res/raw-sw600dp/accessibility_timeout_banner.json b/res/raw/accessibility_timeout_banner_tablet.json
similarity index 100%
rename from res/raw-sw600dp/accessibility_timeout_banner.json
rename to res/raw/accessibility_timeout_banner_tablet.json
diff --git a/res/raw-sw600dp/extra_dim_banner.json b/res/raw/extra_dim_banner_tablet.json
similarity index 100%
rename from res/raw-sw600dp/extra_dim_banner.json
rename to res/raw/extra_dim_banner_tablet.json
diff --git a/res/values/config.xml b/res/values/config.xml
index 125715a..7444b57 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -673,4 +673,20 @@
 
     <!-- Whether to display the 3G option at network mode.-->
     <bool name="config_display_network_mode_3g_option">true</bool>
+
+    <!-- The illustration for those screen are not in one of below type. This file should be a video in JSON format. -->
+    <item name="a11y_timeout_banner" type="raw" product="default">@raw/accessibility_timeout_banner</item>
+    <item name="a11y_timeout_banner" type="raw" product="tablet">@raw/accessibility_timeout_banner_tablet</item>
+
+    <item name="a11y_shortcut_type_triple_tap" type="raw" product="default">@raw/accessibility_shortcut_type_triple_tap</item>
+    <item name="a11y_shortcut_type_triple_tap" type="raw" product="tablet">@raw/accessibility_shortcut_type_triple_tap_tablet</item>
+
+    <item name="a11y_color_inversion_banner" type="raw" product="default">@raw/accessibility_color_inversion_banner</item>
+    <item name="a11y_color_inversion_banner" type="raw" product="tablet">@raw/accessibility_color_inversion_banner_tablet</item>
+
+    <item name="a11y_magnification_banner" type="raw" product="default">@raw/accessibility_magnification_banner</item>
+    <item name="a11y_magnification_banner" type="raw" product="tablet">@raw/accessibility_magnification_banner_tablet</item>
+
+    <item name="a11y_extra_dim_banner" type="raw" product="default">@raw/extra_dim_banner</item>
+    <item name="a11y_extra_dim_banner" type="raw" product="tablet">@raw/extra_dim_banner_tablet</item>
 </resources>
diff --git a/res/values/drawables.xml b/res/values/drawables.xml
new file mode 100644
index 0000000..61c7fe0
--- /dev/null
+++ b/res/values/drawables.xml
@@ -0,0 +1,58 @@
+<?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.
+-->
+<resources>
+    <drawable name="a11y_shortcut_type_software_gesture_talkback" product="default">@drawable/accessibility_shortcut_type_software_gesture_talkback</drawable>
+    <drawable name="a11y_shortcut_type_software_gesture_talkback" product="tablet">@drawable/accessibility_shortcut_type_software_gesture_talkback_tablet</drawable>
+
+    <drawable name="a11y_button_preview_base" product="default">@drawable/accessibility_button_preview_base</drawable>
+    <drawable name="a11y_button_preview_base" product="tablet">@drawable/accessibility_button_preview_base_tablet</drawable>
+
+    <drawable name="a11y_button_preview_large_floating_menu" product="default">@drawable/accessibility_button_preview_large_floating_menu</drawable>
+    <drawable name="a11y_button_preview_large_floating_menu" product="tablet">@drawable/accessibility_button_preview_large_floating_menu_tablet</drawable>
+
+    <drawable name="a11y_button_preview_small_floating_menu" product="default">@drawable/accessibility_button_preview_small_floating_menu</drawable>
+    <drawable name="a11y_button_preview_small_floating_menu" product="tablet">@drawable/accessibility_button_preview_small_floating_menu_tablet</drawable>
+
+    <drawable name="a11y_button_preview_three_finger" product="default">@drawable/accessibility_button_preview_three_finger</drawable>
+    <drawable name="a11y_button_preview_three_finger" product="tablet">@drawable/accessibility_button_preview_three_finger_tablet</drawable>
+
+    <drawable name="a11y_button_preview_two_finger" product="default">@drawable/accessibility_button_preview_two_finger</drawable>
+    <drawable name="a11y_button_preview_two_finger" product="tablet">@drawable/accessibility_button_preview_two_finger_tablet</drawable>
+
+    <drawable name="a11y_captioning_banner" product="default">@drawable/accessibility_captioning_banner</drawable>
+    <drawable name="a11y_captioning_banner" product="tablet">@drawable/accessibility_captioning_banner_tablet</drawable>
+
+    <drawable name="a11y_shortcut_type_hardware" product="default">@drawable/accessibility_shortcut_type_hardware</drawable>
+    <drawable name="a11y_shortcut_type_hardware" product="tablet">@drawable/accessibility_shortcut_type_hardware_tablet</drawable>
+
+    <drawable name="a11y_shortcut_type_software" product="default">@drawable/accessibility_shortcut_type_software</drawable>
+    <drawable name="a11y_shortcut_type_software" product="tablet">@drawable/accessibility_shortcut_type_software_tablet</drawable>
+
+    <drawable name="a11y_shortcut_type_software_floating" product="default">@drawable/accessibility_shortcut_type_software_floating</drawable>
+    <drawable name="a11y_shortcut_type_software_floating" product="tablet">@drawable/accessibility_shortcut_type_software_floating_tablet</drawable>
+
+    <drawable name="a11y_shortcut_type_software_gesture" product="default">@drawable/accessibility_shortcut_type_software_gesture</drawable>
+    <drawable name="a11y_shortcut_type_software_gesture" product="tablet">@drawable/accessibility_shortcut_type_software_gesture_tablet</drawable>
+
+    <drawable name="a11y_magnification_mode_fullscreen" product="default">@drawable/accessibility_magnification_mode_fullscreen</drawable>
+    <drawable name="a11y_magnification_mode_fullscreen" product="tablet">@drawable/accessibility_magnification_mode_fullscreen_tablet</drawable>
+
+    <drawable name="a11y_magnification_mode_switch" product="default">@drawable/accessibility_magnification_mode_switch</drawable>
+    <drawable name="a11y_magnification_mode_switch" product="tablet">@drawable/accessibility_magnification_mode_switch_tablet</drawable>
+
+    <drawable name="a11y_magnification_mode_window" product="default">@drawable/accessibility_magnification_mode_window</drawable>
+    <drawable name="a11y_magnification_mode_window" product="tablet">@drawable/accessibility_magnification_mode_window_tablet</drawable>
+</resources>
\ No newline at end of file
diff --git a/res/xml/accessibility_control_timeout_settings.xml b/res/xml/accessibility_control_timeout_settings.xml
index 3cd0dd6..eb7f6a5 100644
--- a/res/xml/accessibility_control_timeout_settings.xml
+++ b/res/xml/accessibility_control_timeout_settings.xml
@@ -28,7 +28,7 @@
 
     <com.android.settingslib.widget.IllustrationPreference
         android:key="accessibility_control_timeout_banner"
-        settings:lottie_rawRes="@raw/accessibility_timeout_banner"/>
+        settings:lottie_rawRes="@raw/a11y_timeout_banner"/>
 
     <com.android.settingslib.widget.SelectorWithWidgetPreference
         android:key="accessibility_control_timeout_default"
diff --git a/res/xml/captioning_settings.xml b/res/xml/captioning_settings.xml
index f9e9948..d793261 100644
--- a/res/xml/captioning_settings.xml
+++ b/res/xml/captioning_settings.xml
@@ -30,7 +30,7 @@
         android:key="captions_preview"
         android:persistent="false"
         android:selectable="false"
-        settings:lottie_rawRes="@drawable/accessibility_captions_banner"
+        settings:lottie_rawRes="@drawable/a11y_captioning_banner"
         settings:searchable="false" />
 
     <com.android.settings.widget.SettingsMainSwitchPreference
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java
index c9f3c43..1cde1b3 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceController.java
@@ -111,15 +111,15 @@
             final int opacity = (int) (Settings.Secure.getFloat(mContentResolver,
                     Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY, DEFAULT_OPACITY) * 100);
             final int floatingMenuIconId = (size == SMALL_SIZE)
-                    ? R.drawable.accessibility_button_preview_small_floating_menu
-                    : R.drawable.accessibility_button_preview_large_floating_menu;
+                    ? R.drawable.a11y_button_preview_small_floating_menu
+                    : R.drawable.a11y_button_preview_large_floating_menu;
             mIllustrationPreference.setImageDrawable(
                     getAccessibilityPreviewDrawable(floatingMenuIconId, opacity));
         } else if (AccessibilityUtil.isGestureNavigateEnabled(mContext)) {
             mIllustrationPreference.setImageDrawable(mContext.getDrawable(
                     AccessibilityUtil.isTouchExploreEnabled(mContext)
-                            ? R.drawable.accessibility_button_preview_three_finger
-                            : R.drawable.accessibility_button_preview_two_finger));
+                            ? R.drawable.a11y_button_preview_three_finger
+                            : R.drawable.a11y_button_preview_two_finger));
         } else {
             mIllustrationPreference.setImageDrawable(
                     mContext.getDrawable(R.drawable.accessibility_button_navigation));
diff --git a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
index 1f73759..f744984 100644
--- a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
+++ b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
@@ -163,17 +163,18 @@
     }
 
     /**
-     * Updates the software shortcut in edit shortcut dialog.
+     * Updates the shortcut content in edit shortcut dialog.
      *
      * @param context A valid context
      * @param editShortcutDialog Need to be a type of edit shortcut dialog
      * @return True if the update is successful
      */
-    public static boolean updateSoftwareShortcutInDialog(Context context,
+    public static boolean updateShortcutInDialog(Context context,
             Dialog editShortcutDialog) {
         final View container = editShortcutDialog.findViewById(R.id.container_layout);
         if (container != null) {
             initSoftwareShortcut(context, container);
+            initHardwareShortcut(context, container);
             return true;
         }
         return false;
@@ -340,7 +341,7 @@
         final CharSequence summary = context.getText(
                 R.string.accessibility_shortcut_edit_dialog_summary_hardware);
         setupShortcutWidget(dialogView, title, summary,
-                R.drawable.accessibility_shortcut_type_hardware);
+                R.drawable.a11y_shortcut_type_hardware);
     }
 
     private static void initMagnifyShortcut(Context context, View view) {
@@ -354,7 +355,7 @@
         summary = MessageFormat.format(summary, arguments);
 
         setupShortcutWidgetWithImageRawResource(context, dialogView, title, summary,
-                R.raw.accessibility_shortcut_type_triple_tap);
+                R.raw.a11y_shortcut_type_triple_tap);
     }
 
     private static void initAdvancedWidget(View view) {
@@ -409,13 +410,13 @@
     private static int retrieveSoftwareShortcutImageResId(Context context) {
         int resId;
         if (AccessibilityUtil.isFloatingMenuEnabled(context)) {
-            resId = R.drawable.accessibility_shortcut_type_software_floating;
+            resId = R.drawable.a11y_shortcut_type_software_floating;
         } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
             resId = AccessibilityUtil.isTouchExploreEnabled(context)
-                    ? R.drawable.accessibility_shortcut_type_software_gesture_talkback
-                    : R.drawable.accessibility_shortcut_type_software_gesture;
+                    ? R.drawable.a11y_shortcut_type_software_gesture_talkback
+                    : R.drawable.a11y_shortcut_type_software_gesture;
         } else {
-            resId = R.drawable.accessibility_shortcut_type_software;
+            resId = R.drawable.a11y_shortcut_type_software;
         }
         return resId;
     }
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index 6dfa324..52e58c0 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -381,7 +381,7 @@
         final CharSequence title =
                 context.getText(R.string.accessibility_tutorial_dialog_title_volume);
         final View image =
-                createIllustrationView(context, R.drawable.accessibility_shortcut_type_hardware);
+                createIllustrationView(context, R.drawable.a11y_shortcut_type_hardware);
         final ImageView indicatorIcon =
                 createImageView(context, R.drawable.ic_accessibility_page_indicator);
         final CharSequence instruction =
@@ -396,7 +396,7 @@
                 context.getText(R.string.accessibility_tutorial_dialog_title_triple);
         final View image =
                 createIllustrationViewWithImageRawResource(context,
-                        R.raw.accessibility_shortcut_type_triple_tap);
+                        R.raw.a11y_shortcut_type_triple_tap);
         final CharSequence instruction =
                 context.getText(R.string.accessibility_tutorial_dialog_message_triple);
         final ImageView indicatorIcon =
@@ -428,13 +428,13 @@
     private static View createSoftwareImage(Context context) {
         int resId;
         if (AccessibilityUtil.isFloatingMenuEnabled(context)) {
-            resId = R.drawable.accessibility_shortcut_type_software_floating;
+            resId = R.drawable.a11y_shortcut_type_software_floating;
         } else if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
             resId = AccessibilityUtil.isTouchExploreEnabled(context)
-                    ? R.drawable.accessibility_shortcut_type_software_gesture_talkback
-                    : R.drawable.accessibility_shortcut_type_software_gesture;
+                    ? R.drawable.a11y_shortcut_type_software_gesture_talkback
+                    : R.drawable.a11y_shortcut_type_software_gesture;
         } else {
-            resId = R.drawable.accessibility_shortcut_type_software;
+            resId = R.drawable.a11y_shortcut_type_software;
         }
         return createIllustrationView(context, resId);
     }
diff --git a/src/com/android/settings/accessibility/AccessibilityLayerDrawable.java b/src/com/android/settings/accessibility/AccessibilityLayerDrawable.java
index b04a969..8b4fd02 100644
--- a/src/com/android/settings/accessibility/AccessibilityLayerDrawable.java
+++ b/src/com/android/settings/accessibility/AccessibilityLayerDrawable.java
@@ -53,7 +53,7 @@
      */
     public static AccessibilityLayerDrawable createLayerDrawable(Context context, int resId,
             int opacity) {
-        final Drawable bg = context.getDrawable(R.drawable.accessibility_button_preview_base);
+        final Drawable bg = context.getDrawable(R.drawable.a11y_button_preview_base);
         final AccessibilityLayerDrawable basicDrawable = new AccessibilityLayerDrawable(
                 new Drawable[]{bg, null});
 
diff --git a/src/com/android/settings/accessibility/MagnificationModePreferenceController.java b/src/com/android/settings/accessibility/MagnificationModePreferenceController.java
index df49a22..4acf230 100644
--- a/src/com/android/settings/accessibility/MagnificationModePreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationModePreferenceController.java
@@ -88,15 +88,15 @@
     private void initModeInfos() {
         mModeInfos.add(new MagnificationModeInfo(mContext.getText(
                 R.string.accessibility_magnification_mode_dialog_option_full_screen), null,
-                R.drawable.ic_illustration_fullscreen, MagnificationMode.FULLSCREEN));
+                R.drawable.a11y_magnification_mode_fullscreen, MagnificationMode.FULLSCREEN));
         mModeInfos.add(new MagnificationModeInfo(
                 mContext.getText(R.string.accessibility_magnification_mode_dialog_option_window),
-                null, R.drawable.ic_illustration_window, MagnificationMode.WINDOW));
+                null, R.drawable.a11y_magnification_mode_window, MagnificationMode.WINDOW));
         mModeInfos.add(new MagnificationModeInfo(
                 mContext.getText(R.string.accessibility_magnification_mode_dialog_option_switch),
                 mContext.getText(
                         R.string.accessibility_magnification_area_settings_mode_switch_summary),
-                R.drawable.ic_illustration_switch, MagnificationMode.ALL));
+                R.drawable.a11y_magnification_mode_switch, MagnificationMode.ALL));
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index 6af748b..da4c60a 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -93,7 +93,7 @@
         mTopIntroTitle = getText(R.string.accessibility_display_inversion_preference_intro_text);
         mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                 .authority(getPrefContext().getPackageName())
-                .appendPath(String.valueOf(R.raw.accessibility_color_inversion_banner))
+                .appendPath(String.valueOf(R.raw.a11y_color_inversion_banner))
                 .build();
         final View view = super.onCreateView(inflater, container, savedInstanceState);
         updateFooterPreference();
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 39d20c9..57415eb 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -833,14 +833,7 @@
         if (mDialog == null || !mDialog.isShowing()) {
             return;
         }
-
-        // Content in software shortcut need to be adjusted depend on the accessibility button
-        // mode status which can be changed in background.
-        final boolean valueChanged = mSavedAccessibilityFloatingMenuEnabled
-                != AccessibilityUtil.isFloatingMenuEnabled(getContext());
-        if (valueChanged) {
-            AccessibilityDialogUtils.updateSoftwareShortcutInDialog(getContext(), mDialog);
-        }
+        AccessibilityDialogUtils.updateShortcutInDialog(getContext(), mDialog);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
index 4e990f4..4dd6e8a 100644
--- a/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
@@ -64,7 +64,7 @@
 
         mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                 .authority(getPrefContext().getPackageName())
-                .appendPath(String.valueOf(R.raw.extra_dim_banner))
+                .appendPath(String.valueOf(R.raw.a11y_extra_dim_banner))
                 .build();
         mComponentName = REDUCE_BRIGHT_COLORS_COMPONENT_NAME;
         mPackageName = getText(R.string.reduce_bright_colors_preference_title);
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 3260cd1..42631d4 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -94,7 +94,7 @@
         mPackageName = getString(R.string.accessibility_screen_magnification_title);
         mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                 .authority(getPrefContext().getPackageName())
-                .appendPath(String.valueOf(R.raw.accessibility_magnification_banner))
+                .appendPath(String.valueOf(R.raw.a11y_magnification_banner))
                 .build();
         mTouchExplorationStateChangeListener = isTouchExplorationEnabled -> {
             removeDialog(DialogEnums.EDIT_SHORTCUT);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java
index 05aba99..0cce56b 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreviewPreferenceControllerTest.java
@@ -92,7 +92,7 @@
 
         final Drawable smallFloatingMenuWithTenOpacityDrawable =
                 AccessibilityLayerDrawable.createLayerDrawable(mContext,
-                        R.drawable.accessibility_button_preview_small_floating_menu, 10);
+                        R.drawable.a11y_button_preview_small_floating_menu, 10);
         assertThat(
                 mController.mIllustrationPreference.getImageDrawable().getConstantState())
                 .isEqualTo(smallFloatingMenuWithTenOpacityDrawable.getConstantState());
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
index ddc3fe4..4922eab 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
@@ -43,20 +43,20 @@
     }
 
     @Test
-    public void updateSoftwareShortcutInDialog_correctDialogType_success() {
+    public void updateShortcutInDialog_correctDialogType_success() {
         final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
                 mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC, "Title",
                 null);
 
         assertThat(
-                AccessibilityDialogUtils.updateSoftwareShortcutInDialog(mContext, dialog)).isTrue();
+                AccessibilityDialogUtils.updateShortcutInDialog(mContext, dialog)).isTrue();
     }
 
     @Test
-    public void updateSoftwareShortcutInDialog_useNotSupportedDialog_fail() {
+    public void updateShortcutInDialog_useNotSupportedDialog_fail() {
         final AlertDialog dialog = new AlertDialog.Builder(mContext).setTitle("Title").show();
 
-        assertThat(AccessibilityDialogUtils.updateSoftwareShortcutInDialog(mContext,
+        assertThat(AccessibilityDialogUtils.updateShortcutInDialog(mContext,
                 dialog)).isFalse();
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityLayerDrawableTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityLayerDrawableTest.java
index 915c788..1dfd409 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityLayerDrawableTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityLayerDrawableTest.java
@@ -43,7 +43,7 @@
     @Test
     public void createLayerDrawable_configCorrect() {
         final Drawable expected1stDrawable = mContext.getDrawable(
-                R.drawable.accessibility_button_preview_base);
+                R.drawable.a11y_button_preview_base);
         final Drawable expected2ndDrawable = mContext.getDrawable(TEST_RES_ID);
 
         final AccessibilityLayerDrawable actualDrawable =
