Merge "DO NOT MERGE - Merge Android 13"
diff --git a/64bitonly/product/arm64-vendor.mk b/64bitonly/product/arm64-vendor.mk
index 87876ec..e47cfd7 100644
--- a/64bitonly/product/arm64-vendor.mk
+++ b/64bitonly/product/arm64-vendor.mk
@@ -6,7 +6,7 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.crypto.dm_default_key.options_format.version=2
 
-PRODUCT_SHIPPING_API_LEVEL := 31
+PRODUCT_SHIPPING_API_LEVEL := 33
 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
 TARGET_USES_MKE2FS := true
 
diff --git a/64bitonly/product/vendor.mk b/64bitonly/product/vendor.mk
index f5460de..63c5d81 100644
--- a/64bitonly/product/vendor.mk
+++ b/64bitonly/product/vendor.mk
@@ -60,6 +60,7 @@
     libcodec2_goldfish_vp8dec \
     libcodec2_goldfish_vp9dec \
     libcodec2_goldfish_avcdec \
+    libcodec2_goldfish_hevcdec \
     sh_vendor \
     local_time.default \
     SdkSetup \
@@ -126,11 +127,13 @@
     SystemUIEmulationPixel4aOverlay \
     EmulationPixel3XLOverlay \
     SystemUIEmulationPixel3XLOverlay \
+    EmulationPixel3Overlay \
     SystemUIEmulationPixel3Overlay \
+    EmulationPixel3aOverlay \
     SystemUIEmulationPixel3aOverlay \
+    EmulationPixel3aXLOverlay \
     SystemUIEmulationPixel3aXLOverlay \
     EmulationPixel2XLOverlay \
-    SystemUIEmulationPixel2XLOverlay \
     NavigationBarMode2ButtonOverlay \
 
 ifneq ($(EMULATOR_VENDOR_NO_GNSS),true)
@@ -284,7 +287,7 @@
     device/generic/goldfish/init.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ranchu.rc \
     device/generic/goldfish/init.system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.system_ext.rc \
     device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \
-    device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
+    device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \
     device/generic/goldfish/input/virtio_input_rotary.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_rotary.idc \
     device/generic/goldfish/input/qwerty2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty2.idc \
     device/generic/goldfish/input/qwerty.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/qwerty.kl \
diff --git a/64bitonly/product/x86_64-vendor.mk b/64bitonly/product/x86_64-vendor.mk
index bbfeb7c..1079704 100644
--- a/64bitonly/product/x86_64-vendor.mk
+++ b/64bitonly/product/x86_64-vendor.mk
@@ -25,7 +25,7 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.crypto.dm_default_key.options_format.version=2
 
-PRODUCT_SHIPPING_API_LEVEL := 31
+PRODUCT_SHIPPING_API_LEVEL := 33
 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
 TARGET_USES_MKE2FS := true
 
diff --git a/arm64-vendor.mk b/arm64-vendor.mk
index 7cbc19f..32eddf3 100644
--- a/arm64-vendor.mk
+++ b/arm64-vendor.mk
@@ -6,7 +6,7 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.crypto.dm_default_key.options_format.version=2
 
-PRODUCT_SHIPPING_API_LEVEL := 31
+PRODUCT_SHIPPING_API_LEVEL := 33
 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
 TARGET_USES_MKE2FS := true
 
diff --git a/camera/arm64/media_codecs_google_video_default.xml b/camera/arm64/media_codecs_google_video_default.xml
index c0eb13c..c5befc9 100644
--- a/camera/arm64/media_codecs_google_video_default.xml
+++ b/camera/arm64/media_codecs_google_video_default.xml
@@ -65,6 +65,21 @@
             <Limit name="measured-frame-rate-3840x2160" range="235-247" />
             <Feature name="adaptive-playback" />
         </MediaCodec>
+        <MediaCodec name="c2.goldfish.hevc.decoder" type="video/hevc">
+            <Limit name="size" min="96x96" max="4096x4096" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" range="24-2073600" />
+            <Limit name="bitrate" range="1-120000000" />
+            <Limit name="frame-rate" range="1-480" />
+            <Limit name="performance-point-3840x2160" value="30" />
+            <Limit name="measured-frame-rate-320x240" range="257-266" />
+            <Limit name="measured-frame-rate-720x480" range="262-264" />
+            <Limit name="measured-frame-rate-1280x720" range="227-251" />
+            <Limit name="measured-frame-rate-1920x1080" range="235-247" />
+            <Limit name="measured-frame-rate-3840x2160" range="235-247" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
         <MediaCodec name="OMX.google.h264.decoder" type="video/avc">
             <Limit name="size" min="2x2" max="2560x2560" />
             <Limit name="alignment" value="2x2" />
diff --git a/camera/media_codecs.xml b/camera/media_codecs.xml
index f226fbf..99d802b 100644
--- a/camera/media_codecs.xml
+++ b/camera/media_codecs.xml
@@ -95,6 +95,9 @@
     <MediaCodec name="c2.goldfish.h264.decoder" type="video/avc" >
         <Limit name="concurrent-instances" max="4" />
     </MediaCodec>
+    <MediaCodec name="c2.goldfish.hevc.decoder" type="video/hevc" >
+        <Limit name="concurrent-instances" max="4" />
+    </MediaCodec>
     <MediaCodec name="c2.goldfish.vp8.decoder" type="video/x-vnd.on2.vp8" >
         <Limit name="concurrent-instances" max="4" />
     </MediaCodec>
diff --git a/camera/media_codecs_google_video_default.xml b/camera/media_codecs_google_video_default.xml
index cc5ba1f..7bb7121 100644
--- a/camera/media_codecs_google_video_default.xml
+++ b/camera/media_codecs_google_video_default.xml
@@ -65,6 +65,21 @@
             <Limit name="measured-frame-rate-3840x2160" range="235-247" />
             <Feature name="adaptive-playback" />
         </MediaCodec>
+        <MediaCodec name="c2.goldfish.hevc.decoder" type="video/hevc">
+            <Limit name="size" min="96x96" max="4096x4096" />
+            <Limit name="alignment" value="2x2" />
+            <Limit name="block-size" value="16x16" />
+            <Limit name="blocks-per-second" range="24-2073600" />
+            <Limit name="bitrate" range="1-120000000" />
+            <Limit name="frame-rate" range="1-480" />
+            <Limit name="performance-point-3840x2160" value="30" />
+            <Limit name="measured-frame-rate-320x240" range="257-266" />
+            <Limit name="measured-frame-rate-720x480" range="262-264" />
+            <Limit name="measured-frame-rate-1280x720" range="227-251" />
+            <Limit name="measured-frame-rate-1920x1080" range="235-247" />
+            <Limit name="measured-frame-rate-3840x2160" range="235-247" />
+            <Feature name="adaptive-playback" />
+        </MediaCodec>
         <MediaCodec name="OMX.google.h264.decoder" type="video/avc">
             <Limit name="size" min="2x2" max="2560x2560" />
             <Limit name="alignment" value="2x2" />
diff --git a/data/etc/config.ini.tv b/data/etc/config.ini.tv
index be5f95e..143a770 100644
--- a/data/etc/config.ini.tv
+++ b/data/etc/config.ini.tv
@@ -5,7 +5,7 @@
 hw.audioInput=yes
 hw.battery=no
 hw.camera.back=none
-hw.camera.front=none
+hw.camera.front=emulated
 hw.dPad=no
 hw.gps=yes
 hw.gpu.enabled=yes
diff --git a/data/etc/handheld_core_hardware.xml b/data/etc/handheld_core_hardware.xml
index 9b6e42a..10be08d 100644
--- a/data/etc/handheld_core_hardware.xml
+++ b/data/etc/handheld_core_hardware.xml
@@ -62,7 +62,7 @@
 
     <!-- basic system services -->
     <feature name="android.software.app_widgets" />
-    <feature name="android.software.connectionservice" />
+    <feature name="android.software.telecom" />
     <feature name="android.software.voice_recognizers" notLowRam="true" />
     <feature name="android.software.backup" />
     <feature name="android.software.home_screen" />
diff --git a/display_settings_freeform.xml b/display_settings_freeform.xml
index 6bdabde..f6f0f33 100644
--- a/display_settings_freeform.xml
+++ b/display_settings_freeform.xml
@@ -3,8 +3,10 @@
 <!-- Use physical port number instead of local id -->
 <config identifier="1" />
 
-<!-- Set windowing mode to WINDOWING_MODE_FREEFORM -->
+<!-- Set windowing mode to WINDOWING_MODE_FREEFORM and set
+     fixed to user rotation to FIXED_TO_USER_ROTATION_ENABLED -->
 <display name="port:0"
-    windowingMode="5" />
+    windowingMode="5" fixedToUserRotation="2"/>
 
-</display-settings>
\ No newline at end of file
+
+</display-settings>
diff --git a/emu64a/BoardConfig.mk b/emu64a/BoardConfig.mk
new file mode 100644
index 0000000..876cd67
--- /dev/null
+++ b/emu64a/BoardConfig.mk
@@ -0,0 +1,40 @@
+# Copyright (C) 2022 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.
+#
+
+# arm64 emulator specific definitions
+TARGET_ARCH := arm64
+TARGET_ARCH_VARIANT := armv8-a
+TARGET_CPU_VARIANT := generic
+TARGET_CPU_ABI := arm64-v8a
+
+TARGET_2ND_ARCH_VARIANT := armv8-a
+TARGET_2ND_CPU_VARIANT := generic
+
+include build/make/target/board/BoardConfigGsiCommon.mk
+include build/make/target/board/BoardConfigEmuCommon.mk
+
+BOARD_BOOTIMAGE_PARTITION_SIZE := 0x02000000
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
+
+# Wifi.
+BOARD_WLAN_DEVICE           := emulator
+BOARD_HOSTAPD_DRIVER        := NL80211
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_simulated
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
+WPA_SUPPLICANT_VERSION      := VER_0_8_X
+WIFI_DRIVER_FW_PATH_PARAM   := "/dev/null"
+WIFI_DRIVER_FW_PATH_STA     := "/dev/null"
+WIFI_DRIVER_FW_PATH_AP      := "/dev/null"
diff --git a/emu64a/device.mk b/emu64a/device.mk
new file mode 100644
index 0000000..30c4427
--- /dev/null
+++ b/emu64a/device.mk
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2022 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.
+#
+
+PRODUCT_SOONG_NAMESPACES += device/generic/goldfish # for libwifi-hal-emu
+PRODUCT_SOONG_NAMESPACES += device/generic/goldfish-opengl # for goldfish deps.
diff --git a/emu64x/BoardConfig.mk b/emu64x/BoardConfig.mk
new file mode 100755
index 0000000..c6afd7a
--- /dev/null
+++ b/emu64x/BoardConfig.mk
@@ -0,0 +1,41 @@
+# Copyright (C) 2022 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.
+#
+
+# x86_64 emulator specific definitions
+TARGET_CPU_ABI := x86_64
+TARGET_ARCH := x86_64
+TARGET_ARCH_VARIANT := x86_64
+TARGET_2ND_ARCH_VARIANT := x86_64
+
+BOARD_DO_NOT_STRIP_VENDOR_MODULES := true
+
+TARGET_PRELINK_MODULE := false
+include build/make/target/board/BoardConfigGsiCommon.mk
+include build/make/target/board/BoardConfigEmuCommon.mk
+
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
+
+BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/x86
+
+# Wifi.
+BOARD_WLAN_DEVICE           := emulator
+BOARD_HOSTAPD_DRIVER        := NL80211
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_simulated
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
+WPA_SUPPLICANT_VERSION      := VER_0_8_X
+WIFI_DRIVER_FW_PATH_PARAM   := "/dev/null"
+WIFI_DRIVER_FW_PATH_STA     := "/dev/null"
+WIFI_DRIVER_FW_PATH_AP      := "/dev/null"
diff --git a/emu64x/README.txt b/emu64x/README.txt
new file mode 100644
index 0000000..1a47468
--- /dev/null
+++ b/emu64x/README.txt
@@ -0,0 +1,10 @@
+The "emu64x" product defines a non-hardware-specific IA target
+without a kernel or bootloader.
+
+This only supports 64bit abi: x86_64
+
+It can be used to build the entire user-level system, and
+will work with the IA version of the emulator,
+
+It is not a product "base class"; no other products inherit
+from it or use it in any way.
diff --git a/emu64x/device.mk b/emu64x/device.mk
new file mode 100755
index 0000000..8a9d8da
--- /dev/null
+++ b/emu64x/device.mk
@@ -0,0 +1,27 @@
+#
+# Copyright (C) 2020 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.
+#
+
+PRODUCT_SOONG_NAMESPACES += device/generic/goldfish # for libwifi-hal-emu
+PRODUCT_SOONG_NAMESPACES += device/generic/goldfish-opengl # for goldfish deps.
+
+ifdef NET_ETH0_STARTONBOOT
+  PRODUCT_VENDOR_PROPERTIES += net.eth0.startonboot=1
+endif
+
+# Ensure we package the BIOS files too.
+PRODUCT_HOST_PACKAGES += \
+	bios.bin \
+	vgabios-cirrus.bin \
diff --git a/emu64xa/BoardConfig.mk b/emu64xa/BoardConfig.mk
new file mode 100755
index 0000000..3bce23f
--- /dev/null
+++ b/emu64xa/BoardConfig.mk
@@ -0,0 +1,50 @@
+# Copyright (C) 2022 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.
+#
+
+# x86_64 emulator specific definitions
+TARGET_CPU_ABI := x86_64
+TARGET_ARCH := x86_64
+TARGET_ARCH_VARIANT := x86_64
+TARGET_2ND_ARCH_VARIANT := x86_64
+
+TARGET_NATIVE_BRIDGE_ARCH := arm64
+TARGET_NATIVE_BRIDGE_ARCH_VARIANT := armv8-a
+TARGET_NATIVE_BRIDGE_CPU_VARIANT := generic
+TARGET_NATIVE_BRIDGE_ABI := arm64-v8a
+
+BUILD_BROKEN_DUP_RULES := true
+
+TARGET_PRELINK_MODULE := false
+
+include build/make/target/board/BoardConfigGsiCommon.mk
+include build/make/target/board/BoardConfigEmuCommon.mk
+
+# the settings differ from BoardConfigMainlineCommon.mk
+BOARD_USES_SYSTEM_OTHER_ODEX :=
+
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
+
+BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/x86
+
+# Wifi.
+BOARD_WLAN_DEVICE           := emulator
+BOARD_HOSTAPD_DRIVER        := NL80211
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_HOSTAPD_PRIVATE_LIB   := lib_driver_cmd_simulated
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
+WPA_SUPPLICANT_VERSION      := VER_0_8_X
+WIFI_DRIVER_FW_PATH_PARAM   := "/dev/null"
+WIFI_DRIVER_FW_PATH_STA     := "/dev/null"
+WIFI_DRIVER_FW_PATH_AP      := "/dev/null"
diff --git a/emu64xa/README.txt b/emu64xa/README.txt
new file mode 100644
index 0000000..13b8d6d
--- /dev/null
+++ b/emu64xa/README.txt
@@ -0,0 +1,10 @@
+The "emu64xa" product defines a non-hardware-specific IA target
+without a kernel or bootloader.
+
+This only supports 64bit abi and ndk-translated arm64 abi
+
+It can be used to build the entire user-level system, and
+will work with the IA version of the emulator,
+
+It is not a product "base class"; no other products inherit
+from it or use it in any way.
diff --git a/emu64xa/device.mk b/emu64xa/device.mk
new file mode 100755
index 0000000..cf9f12a
--- /dev/null
+++ b/emu64xa/device.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2022 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.
+#
+
+PRODUCT_SOONG_NAMESPACES += device/generic/goldfish # for libwifi-hal-emu
+PRODUCT_SOONG_NAMESPACES += device/generic/goldfish-opengl # for goldfish deps.
+
+ifdef NET_ETH0_STARTONBOOT
+  PRODUCT_VENDOR_PROPERTIES += net.eth0.startonboot=1
+endif
diff --git a/init.ranchu.rc b/init.ranchu.rc
index 284d245..870947e 100644
--- a/init.ranchu.rc
+++ b/init.ranchu.rc
@@ -24,8 +24,6 @@
     # GTS tests are migrated to ro.boot.qemu.
     setprop ro.kernel.qemu 1
 
-    verity_update_state
-
 on init
     # set RLIMIT_MEMLOCK to 8MB for BPF network statistics
     setrlimit memlock 8388608 8388608
@@ -190,10 +188,7 @@
     keycodes 114 115 116
 
 service wpa_supplicant /vendor/bin/hw/wpa_supplicant -Dnl80211 -iwlan0 -c/vendor/etc/wifi/wpa_supplicant.conf -g@android:wpa_wlan0
-    interface android.hardware.wifi.supplicant@1.0::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.1::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.2::ISupplicant default
-    interface android.hardware.wifi.supplicant@1.3::ISupplicant default
+    interface aidl android.hardware.wifi.supplicant.ISupplicant/default
     socket wpa_wlan0 dgram 660 wifi wifi
     group system wifi inet
     oneshot
diff --git a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_2_xl/AndroidOverlay/res/values/dimens.xml
similarity index 100%
rename from overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/res/values/dimens.xml
rename to overlay/frameworks/base/packages/overlays/pixel_2_xl/AndroidOverlay/res/values/dimens.xml
diff --git a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk b/overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/Android.mk
similarity index 89%
rename from overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk
rename to overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/Android.mk
index 413d585..16e4bc3 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk
+++ b/overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/Android.mk
@@ -17,13 +17,13 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_RRO_THEME := SystemUIEmulationPixel2XL
+LOCAL_RRO_THEME := EmulationPixel3
 
 LOCAL_PRODUCT_MODULE := true
 
 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
 
-LOCAL_PACKAGE_NAME := SystemUIEmulationPixel2XLOverlay
+LOCAL_PACKAGE_NAME := EmulationPixel3Overlay
 LOCAL_SDK_VERSION := current
 
 LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
diff --git a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml b/overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/AndroidManifest.xml
similarity index 85%
rename from overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml
rename to overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/AndroidManifest.xml
index 39925fb..714f0dc 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/AndroidManifest.xml
@@ -16,9 +16,9 @@
  */
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.systemui.emulation.pixel_2_xl"
+    package="com.android.internal.emulation.pixel_3"
     android:versionCode="1"
     android:versionName="1.0">
-    <overlay android:targetPackage="com.android.systemui" android:priority="1"/>
+    <overlay android:targetPackage="android" android:priority="1"/>
     <application android:label="Filled" android:hasCode="false"/>
 </manifest>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..3e15246
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_3/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <dimen name="rounded_corner_content_padding">28px</dimen>
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3/SystemUIOverlay/res/values/dimens.xml
index 1f2e402..b0d74c5 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_3/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_3/SystemUIOverlay/res/values/dimens.xml
@@ -16,8 +16,6 @@
 */
 -->
 <resources>
-    <dimen name="rounded_corner_content_padding">28px</dimen>
-
     <!-- Location on the screen of the center of the physical power button. -->
     <dimen name="physical_power_button_center_screen_location_y">450px</dimen>
 
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3_xl/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3_xl/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..3e15246
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_3_xl/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <dimen name="rounded_corner_content_padding">28px</dimen>
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3_xl/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3_xl/SystemUIOverlay/res/values/dimens.xml
index 2dc4813..122abce 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_3_xl/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_3_xl/SystemUIOverlay/res/values/dimens.xml
@@ -16,8 +16,6 @@
 */
 -->
 <resources>
-    <dimen name="rounded_corner_content_padding">28px</dimen>
-
     <dimen name="display_cutout_margin_consumption">0px</dimen>
 
     <!-- Height of the status bar header bar when on Keyguard (match status_bar_portrait) -->
diff --git a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk b/overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/Android.mk
similarity index 89%
copy from overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk
copy to overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/Android.mk
index 413d585..3791677 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/Android.mk
@@ -17,13 +17,13 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_RRO_THEME := SystemUIEmulationPixel2XL
+LOCAL_RRO_THEME := EmulationPixel3a
 
 LOCAL_PRODUCT_MODULE := true
 
 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
 
-LOCAL_PACKAGE_NAME := SystemUIEmulationPixel2XLOverlay
+LOCAL_PACKAGE_NAME := EmulationPixel3aOverlay
 LOCAL_SDK_VERSION := current
 
 LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
diff --git a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml b/overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/AndroidManifest.xml
similarity index 85%
copy from overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml
copy to overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/AndroidManifest.xml
index 39925fb..e087241 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/AndroidManifest.xml
@@ -16,9 +16,9 @@
  */
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.systemui.emulation.pixel_2_xl"
+    package="com.android.internal.emulation.pixel_3a"
     android:versionCode="1"
     android:versionName="1.0">
-    <overlay android:targetPackage="com.android.systemui" android:priority="1"/>
+    <overlay android:targetPackage="android" android:priority="1"/>
     <application android:label="Filled" android:hasCode="false"/>
 </manifest>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..3e15246
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <dimen name="rounded_corner_content_padding">28px</dimen>
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3a/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3a/SystemUIOverlay/res/values/dimens.xml
index 02f6d69..b3e66d3 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_3a/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a/SystemUIOverlay/res/values/dimens.xml
@@ -16,7 +16,6 @@
 */
 -->
 <resources>
-    <dimen name="rounded_corner_content_padding">28px</dimen>
     <!-- Height of the status bar -->
     <dimen name="status_bar_height_portrait">28dp</dimen>
 
diff --git a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/Android.mk
similarity index 89%
copy from overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk
copy to overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/Android.mk
index 413d585..3e35cda 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/Android.mk
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/Android.mk
@@ -17,13 +17,13 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_RRO_THEME := SystemUIEmulationPixel2XL
+LOCAL_RRO_THEME := EmulationPixel3aXL
 
 LOCAL_PRODUCT_MODULE := true
 
 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
 
-LOCAL_PACKAGE_NAME := SystemUIEmulationPixel2XLOverlay
+LOCAL_PACKAGE_NAME := EmulationPixel3aXLOverlay
 LOCAL_SDK_VERSION := current
 
 LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
diff --git a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/AndroidManifest.xml
similarity index 85%
copy from overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml
copy to overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/AndroidManifest.xml
index 39925fb..60cf0a7 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_2_xl/SystemUIOverlay/AndroidManifest.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/AndroidManifest.xml
@@ -16,9 +16,9 @@
  */
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.systemui.emulation.pixel_2_xl"
+    package="com.android.internal.emulation.pixel_3a_xl"
     android:versionCode="1"
     android:versionName="1.0">
-    <overlay android:targetPackage="com.android.systemui" android:priority="1"/>
+    <overlay android:targetPackage="android" android:priority="1"/>
     <application android:label="Filled" android:hasCode="false"/>
 </manifest>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..3e15246
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <dimen name="rounded_corner_content_padding">28px</dimen>
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_3a_xl/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/SystemUIOverlay/res/values/dimens.xml
index cbccc08..e221067 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_3a_xl/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_3a_xl/SystemUIOverlay/res/values/dimens.xml
@@ -16,7 +16,6 @@
 */
 -->
 <resources>
-    <dimen name="rounded_corner_content_padding">28px</dimen>
     <!-- Height of the status bar -->
     <dimen name="status_bar_height_portrait">28dp</dimen>
 
diff --git a/overlay/frameworks/base/packages/overlays/pixel_4/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_4/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..bbcab65
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_4/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <!-- for 20dp of padding at 2.75px/dp at default density -->
+    <dimen name="rounded_corner_content_padding">55px</dimen>
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_4/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_4/SystemUIOverlay/res/values/dimens.xml
index 196e4a6..46823f5 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_4/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_4/SystemUIOverlay/res/values/dimens.xml
@@ -16,9 +16,6 @@
 */
 -->
 <resources>
-    <!-- for 20dp of padding at 2.75px/dp at default density -->
-    <dimen name="rounded_corner_content_padding">55px</dimen>
-
     <!-- the padding on the top of the statusbar (usually 0) -->
     <dimen name="status_bar_padding_top">1dp</dimen>
 
diff --git a/overlay/frameworks/base/packages/overlays/pixel_4_xl/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_4_xl/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..fc36aa3
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_4_xl/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <!-- for 20dp of padding at 3.5px/dp at default density -->
+    <dimen name="rounded_corner_content_padding">70px</dimen>
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_4_xl/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_4_xl/SystemUIOverlay/res/values/dimens.xml
index cb819ec..6bc1e24 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_4_xl/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_4_xl/SystemUIOverlay/res/values/dimens.xml
@@ -16,9 +16,6 @@
 */
 -->
 <resources>
-    <!-- for 20dp of padding at 3.5px/dp at default density -->
-    <dimen name="rounded_corner_content_padding">70px</dimen>
-
     <!-- the padding on the top of the statusbar (usually 0) -->
     <dimen name="status_bar_padding_top">1dp</dimen>
 
diff --git a/overlay/frameworks/base/packages/overlays/pixel_4a/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_4a/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..cb753ed
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_4a/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <!-- Padding around the status bar -->
+    <dimen name="rounded_corner_content_padding">30px</dimen>
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/config.xml b/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/config.xml
index 9238f8f..89ee3ae 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/config.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/config.xml
@@ -26,8 +26,6 @@
      -->
     <string name="config_rounded_mask" translatable="false">M146,0 C100,2 60,0 30,30 C0,60 2,100 0,146</string>
 
-    <bool name="config_roundedCornerMultipleRadius">true</bool>
-
     <!-- Configure 11px of extra protection around the front-facing camera -->
     <string translatable="false" name="config_frontBuiltInDisplayCutoutProtection">
         M 30,83
diff --git a/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/dimens.xml
index 7e32ad2..8a97773 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_4a/SystemUIOverlay/res/values/dimens.xml
@@ -16,9 +16,6 @@
 */
 -->
 <resources>
-    <!-- Padding around the status bar -->
-    <dimen name="rounded_corner_content_padding">30px</dimen>
-
     <!-- Height of the status bar header bar when on Keyguard (match status_bar_portrait) -->
     <dimen name="status_bar_header_height_keyguard">@*android:dimen/status_bar_height_portrait</dimen>
 
diff --git a/overlay/frameworks/base/packages/overlays/pixel_5/AndroidOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_5/AndroidOverlay/res/values/dimens.xml
new file mode 100644
index 0000000..501270f
--- /dev/null
+++ b/overlay/frameworks/base/packages/overlays/pixel_5/AndroidOverlay/res/values/dimens.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (c) 2022, 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>
+    <!-- for 20dp of padding at 3.5px/dp at default density -->
+    <dimen name="rounded_corner_content_padding">50px</dimen>
+    <!-- the padding on the top of the statusbar (usually 0) -->
+</resources>
diff --git a/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/config.xml b/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/config.xml
index bfb55d8..9a5c9fc 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/config.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/config.xml
@@ -27,7 +27,6 @@
          corner edges), this pulls out just the curve.
      -->
     <string name="config_rounded_mask" translatable="false">M156,0 C76,4 58,5 31,31 5,58 4,76 0,156</string>
-    <bool name="config_roundedCornerMultipleRadius">true</bool>
     <!-- Configure 13px of extra protection around the front-facing camera -->
     <string translatable="false" name="config_frontBuiltInDisplayCutoutProtection">
         M 29,77
diff --git a/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/dimens.xml b/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/dimens.xml
index d4480e7..0818f65 100644
--- a/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/dimens.xml
+++ b/overlay/frameworks/base/packages/overlays/pixel_5/SystemUIOverlay/res/values/dimens.xml
@@ -16,8 +16,6 @@
 */
 -->
 <resources>
-    <!-- for 20dp of padding at 3.5px/dp at default density -->
-    <dimen name="rounded_corner_content_padding">50px</dimen>
     <!-- the padding on the top of the statusbar (usually 0) -->
     <dimen name="status_bar_padding_top">2dp</dimen>
     <!-- Padding for the system icons on the keyguard (when no multi user switch is showing).
diff --git a/pc/AndroidProducts.mk b/pc/AndroidProducts.mk
new file mode 100644
index 0000000..1f6a90e
--- /dev/null
+++ b/pc/AndroidProducts.mk
@@ -0,0 +1,21 @@
+#
+# Copyright (C) 2021 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.
+#
+
+PRODUCT_MAKEFILES := \
+    $(LOCAL_DIR)/sdk_pc_x86_64.mk \
+
+COMMON_LUNCH_CHOICES := \
+    sdk_pc_x86_64-userdebug \
diff --git a/pc/OWNERS b/pc/OWNERS
new file mode 100644
index 0000000..0c1b152
--- /dev/null
+++ b/pc/OWNERS
@@ -0,0 +1,2 @@
+hirono@google.com
+linben@google.com
diff --git a/pc/config.ini.pc b/pc/config.ini.pc
new file mode 100644
index 0000000..1f937cc
--- /dev/null
+++ b/pc/config.ini.pc
@@ -0,0 +1,23 @@
+avd.ini.encoding=UTF-8
+disk.dataPartition.size=6G
+display.settings.xml=freeform
+fastboot.forceColdBoot=yes
+hw.accelerometer=no
+hw.audioInput=yes
+hw.battery=yes
+hw.camera.back=emulated
+hw.camera.front=emulated
+hw.dPad=no
+hw.gps=no
+hw.gpu.enabled=yes
+hw.keyboard=yes
+hw.lcd.density=240
+hw.mainKeys=no
+hw.ramSize=4096
+hw.sensors.orientation=no
+hw.sensors.proximity=no
+image.sysdir.1=x86/
+skin.dynamic=no
+skin.name=3000x2000
+skin.path=3000x2000
+
diff --git a/pc/data/etc/pc.xml b/pc/data/etc/pc.xml
new file mode 100644
index 0000000..3eb3c78
--- /dev/null
+++ b/pc/data/etc/pc.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 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.
+-->
+
+<!-- Feature flags for PC devices. -->
+<permissions>
+    <!-- Freeform window management -->
+    <feature name="android.software.freeform_window_management" />
+
+    <!-- This is a 'PC' device controlled primarily via keyboard, mouse and
+         touchpad. Touchscreen optional. -->
+    <feature name="android.hardware.type.pc" />
+
+     <!-- For PC-like device we mainly uses hardware keyboards. -->
+    <unavailable-feature name="android.software.input_methods" />
+
+     <!-- For PC-like device we usually don't have telephony. -->
+    <unavailable-feature name="android.hardware.telephony" />
+
+    <!-- PC-like device should not support MOTION_TRACKING capability level. -->
+    <unavailable-feature name="android.hardware.camera.ar" />
+</permissions>
diff --git a/pc/images_source.prop_template b/pc/images_source.prop_template
new file mode 100644
index 0000000..5c47d34
--- /dev/null
+++ b/pc/images_source.prop_template
@@ -0,0 +1,11 @@
+Pkg.Desc=System Image ${TARGET_CPU_ABI}.
+Pkg.Revision=1
+Pkg.Dependencies=emulator#30.7.3
+AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
+AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+SystemImage.Abi=${TARGET_CPU_ABI}
+SystemImage.TagId=android-pc
+SystemImage.TagDisplay=PC
+SystemImage.GpuSupport=true
+Addon.VendorId=google
+Addon.VendorDisplay=Google Inc.
diff --git a/pc/overlay/frameworks/base/core/res/res/values/config.xml b/pc/overlay/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 0000000..e3908a9
--- /dev/null
+++ b/pc/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2021 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>
+    <!-- Disabling content capture service by setting an empty string here -->
+    <string name="config_defaultContentCaptureService" translatable="false"></string>
+</resources>
diff --git a/pc/overlay/frameworks/base/packages/SystemUI/res/values-sw600dp-land/config.xml b/pc/overlay/frameworks/base/packages/SystemUI/res/values-sw600dp-land/config.xml
new file mode 100644
index 0000000..d3165d0
--- /dev/null
+++ b/pc/overlay/frameworks/base/packages/SystemUI/res/values-sw600dp-land/config.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2021 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>
+    <!-- Whether to use the split 2-column notification shade -->
+    <bool name="config_use_split_notification_shade">false</bool>
+</resources>
diff --git a/pc/sdk_pc_x86_64.mk b/pc/sdk_pc_x86_64.mk
new file mode 100644
index 0000000..1ede69a
--- /dev/null
+++ b/pc/sdk_pc_x86_64.mk
@@ -0,0 +1,26 @@
+#
+# Copyright (C) 2021 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.
+
+PRODUCT_COPY_FILES += device/generic/goldfish/pc/config.ini.pc:config.ini
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/sdk_x86_64.mk)
+
+PRODUCT_NAME := sdk_pc_x86_64
+PRODUCT_DEVICE := emulator64_x86_64
+PRODUCT_BRAND := Android
+PRODUCT_MODEL := PC on x86_64 emulator
+PRODUCT_PACKAGE_OVERLAYS := device/generic/goldfish/pc/overlay
+PRODUCT_COPY_FILES += \
+    device/generic/goldfish/pc/data/etc/pc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/pc.xml
diff --git a/sensors/multihal_sensors.cpp b/sensors/multihal_sensors.cpp
index ef5c0ac..e9c2edc 100644
--- a/sensors/multihal_sensors.cpp
+++ b/sensors/multihal_sensors.cpp
@@ -26,6 +26,7 @@
 using ahs10::SensorFlagBits;
 using ahs10::SensorStatus;
 using ahs10::MetaDataEventType;
+using ahs10::AdditionalInfoType;
 
 namespace {
 constexpr int64_t kMaxSamplingPeriodNs = 1000000000;
@@ -82,6 +83,8 @@
         ::abort();
     }
 
+    setAdditionalInfoFrames();
+
     m_sensorThread = std::thread(&MultihalSensors::qemuSensorListenerThread, this);
     m_batchThread = std::thread(&MultihalSensors::batchThread, this);
 }
@@ -168,7 +171,7 @@
             event.sensorType = SensorType::HEART_RATE;
             doPostSensorEventLocked(*sensor, event);
         }
-
+        sendAdditionalInfoReport(sensorHandle);
         m_activeSensorsMask = m_activeSensorsMask | (1u << sensorHandle);
     } else {
         m_activeSensorsMask = m_activeSensorsMask & ~(1u << sensorHandle);
@@ -242,6 +245,8 @@
     event.u.meta.what = MetaDataEventType::META_DATA_FLUSH_COMPLETE;
 
     doPostSensorEventLocked(*sensor, event);
+    sendAdditionalInfoReport(sensorHandle);
+
     return Result::OK;
 }
 
@@ -299,6 +304,49 @@
         m_halProxyCallback->createScopedWakelock(isWakeupEvent));
 }
 
+void MultihalSensors::setAdditionalInfoFrames() {
+    // https://developer.android.com/reference/android/hardware/SensorAdditionalInfo#TYPE_SENSOR_PLACEMENT
+    AdditionalInfo additionalInfoSensorPlacement = {
+            .type = AdditionalInfoType::AINFO_SENSOR_PLACEMENT,
+            .serial = 0,
+            .u.data_float{ {0, 1, 0, 0, -1, 0, 0, 10, 0, 0, 1, -2.5} },
+    };
+    const AdditionalInfo additionalInfoBegin = {
+            .type = AdditionalInfoType::AINFO_BEGIN,
+            .serial = 0,
+    };
+    const AdditionalInfo additionalInfoEnd = {
+            .type = AdditionalInfoType::AINFO_END,
+            .serial = 0,
+    };
+
+    mAdditionalInfoFrames.insert(
+            mAdditionalInfoFrames.end(),
+            {additionalInfoBegin, additionalInfoSensorPlacement, additionalInfoEnd});
+}
+
+void MultihalSensors::sendAdditionalInfoReport(int sensorHandle) {
+    const SensorInfo* sensor = getSensorInfoByHandle(sensorHandle);
+    const bool isWakeupEvent =
+        sensor->flags & static_cast<uint32_t>(SensorFlagBits::WAKE_UP);
+    std::vector<Event> events;
+
+    for (const auto& frame : mAdditionalInfoFrames) {
+        events.emplace_back(Event{
+                .timestamp = android::elapsedRealtimeNano(),
+                .sensorHandle = sensorHandle,
+                .sensorType = SensorType::ADDITIONAL_INFO,
+                .u.additional = frame,
+        });
+    }
+
+    if (!events.empty()) {
+        m_halProxyCallback->postEvents(
+                events,
+                m_halProxyCallback->createScopedWakelock(isWakeupEvent));
+    }
+}
+
 bool MultihalSensors::qemuSensorThreadSendCommand(const char cmd) const {
     return TEMP_FAILURE_RETRY(write(m_callersFd.get(), &cmd, 1)) == 1;
 }
diff --git a/sensors/multihal_sensors.h b/sensors/multihal_sensors.h
index 57f6368..37b58f9 100644
--- a/sensors/multihal_sensors.h
+++ b/sensors/multihal_sensors.h
@@ -32,6 +32,7 @@
 using ahs21::implementation::IHalProxyCallback;
 using ahs21::SensorInfo;
 using ahs21::Event;
+using ahs10::AdditionalInfo;
 using ahs10::OperationMode;
 using ahs10::RateLevel;
 using ahs10::Result;
@@ -97,6 +98,8 @@
     void parseQemuSensorEvent(const int pipe, QemuSensorsProtocolState* state);
     void postSensorEvent(const Event& event);
     void doPostSensorEventLocked(const SensorInfo& sensor, const Event& event);
+    void setAdditionalInfoFrames();
+    void sendAdditionalInfoReport(int sensorHandle);
 
     void qemuSensorListenerThread();
     void batchThread();
@@ -117,6 +120,8 @@
     OperationMode           m_opMode = OperationMode::NORMAL;
     sp<IHalProxyCallback>   m_halProxyCallback;
 
+    std::vector<AdditionalInfo> mAdditionalInfoFrames;
+
     // batching
     struct BatchEventRef {
         int64_t  timestamp = -1;
diff --git a/sensors/sensor_list.cpp b/sensors/sensor_list.cpp
index b51cd68..9eb9628 100644
--- a/sensors/sensor_list.cpp
+++ b/sensors/sensor_list.cpp
@@ -59,6 +59,7 @@
         .requiredPermission = "",
         .maxDelay = 500000,
         .flags = SensorFlagBits::DATA_INJECTION |
+                 SensorFlagBits::ADDITIONAL_INFO |
                  SensorFlagBits::CONTINUOUS_MODE
     },
     {
@@ -77,6 +78,7 @@
         .requiredPermission = "",
         .maxDelay = 500000,
         .flags = SensorFlagBits::DATA_INJECTION |
+                 SensorFlagBits::ADDITIONAL_INFO |
                  SensorFlagBits::CONTINUOUS_MODE
     },
     {
diff --git a/sepolicy/common/file_contexts b/sepolicy/common/file_contexts
index d9da465..a999cc2 100644
--- a/sepolicy/common/file_contexts
+++ b/sepolicy/common/file_contexts
@@ -40,9 +40,8 @@
 /vendor/bin/hw/libgoldfish-rild               u:object_r:rild_exec:s0
 /vendor/bin/dhcpclient       u:object_r:dhcpclient_exec:s0
 /vendor/bin/bt_vhci_forwarder  u:object_r:bt_vhci_forwarder_exec:s0
-
-/vendor/bin/hw/android\.hardware\.drm@[0-9]+\.[0-9]+-service\.widevine          u:object_r:hal_drm_widevine_exec:s0
-/vendor/bin/hw/android\.hardware\.drm@[0-9]+\.[0-9]+-service\.clearkey          u:object_r:hal_drm_clearkey_exec:s0
+/vendor/bin/hw/android\.hardware\.drm(@[0-9]+\.[0-9]+)?-service\.widevine    u:object_r:hal_drm_widevine_exec:s0
+/vendor/bin/hw/android\.hardware\.drm(@[0-9]+\.[0-9]+)?-service\.clearkey          u:object_r:hal_drm_clearkey_exec:s0
 /vendor/bin/hw/android\.hardware\.gatekeeper@1\.0-service.software    u:object_r:hal_gatekeeper_default_exec:s0
 /vendor/bin/hw/android\.hardware\.thermal@2\.0-service.mock           u:object_r:hal_thermal_default_exec:s0
 /vendor/bin/hw/android\.hardware\.authsecret@1\.0-service  u:object_r:hal_authsecret_default_exec:s0
diff --git a/sepolicy/common/service_contexts b/sepolicy/common/service_contexts
new file mode 100644
index 0000000..0ff4676
--- /dev/null
+++ b/sepolicy/common/service_contexts
@@ -0,0 +1,2 @@
+android.hardware.drm.IDrmFactory/widevine    u:object_r:hal_drm_service:s0
+android.hardware.drm.ICryptoFactory/widevine u:object_r:hal_drm_service:s0
diff --git a/slim/FakeSystemApp/res/layout/media_projection_dialog_title.xml b/slim/FakeSystemApp/res/layout/media_projection_dialog_title.xml
deleted file mode 100644
index 7f5b814..0000000
--- a/slim/FakeSystemApp/res/layout/media_projection_dialog_title.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright 2021, 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.
--->
-
-<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-
-        android:paddingStart="?android:attr/dialogPreferredPadding"
-        android:paddingEnd="?android:attr/dialogPreferredPadding"
-        android:orientation="vertical">
-    <ImageView
-        android:id="@+id/dialog_icon"
-        android:src="@drawable/ic_media_projection_permission"
-        android:layout_height="24dp"
-        android:layout_width="24dp"
-        android:layout_marginTop="18dp"
-        android:layout_marginBottom="12dp"
-        android:layout_gravity="center_horizontal" />
-    <TextView
-        android:id="@+id/dialog_title"
-        android:gravity="center"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:textSize="20sp"
-        android:textColor="?android:attr/textColorPrimary"
-        android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title" />
-</LinearLayout>
diff --git a/slim/FakeSystemApp/src/com/android/fakesystemapp/systemui/SlimMediaProjectionPermissionActivity.java b/slim/FakeSystemApp/src/com/android/fakesystemapp/systemui/SlimMediaProjectionPermissionActivity.java
index 6eec84f..88de46e 100644
--- a/slim/FakeSystemApp/src/com/android/fakesystemapp/systemui/SlimMediaProjectionPermissionActivity.java
+++ b/slim/FakeSystemApp/src/com/android/fakesystemapp/systemui/SlimMediaProjectionPermissionActivity.java
@@ -33,10 +33,8 @@
 import android.os.ServiceManager;
 import android.text.TextPaint;
 import android.util.Log;
-import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
-import android.widget.TextView;
 
 import com.android.fakesystemapp.R;
 
@@ -101,12 +99,9 @@
             dialogText = getString(R.string.media_projection_dialog_service_text);
             dialogTitle = getString(R.string.media_projection_dialog_service_title);
 
-        View dialogTitleView = View.inflate(this, R.layout.media_projection_dialog_title, null);
-        TextView titleText = (TextView) dialogTitleView.findViewById(R.id.dialog_title);
-        titleText.setText(dialogTitle);
-
         mDialog = new AlertDialog.Builder(this)
-                .setCustomTitle(dialogTitleView)
+                .setTitle(dialogTitle)
+                .setIcon(R.drawable.ic_media_projection_permission)
                 .setMessage(dialogText)
                 .setPositiveButton(R.string.media_projection_action_text, this)
                 .setNegativeButton(android.R.string.cancel, this)
diff --git a/slim/data/etc/slim_handheld_core_hardware.xml b/slim/data/etc/slim_handheld_core_hardware.xml
index c933d72..7f17a64 100644
--- a/slim/data/etc/slim_handheld_core_hardware.xml
+++ b/slim/data/etc/slim_handheld_core_hardware.xml
@@ -53,7 +53,7 @@
 
     <!-- basic system services -->
     <feature name="android.software.app_widgets" />
-    <feature name="android.software.connectionservice" />
+    <feature name="android.software.telecom" />
     <feature name="android.software.voice_recognizers" notLowRam="true" />
     <feature name="android.software.backup" />
     <feature name="android.software.home_screen" />
diff --git a/tools/Android.mk b/tools/Android.mk
index 077987c..c1af333 100644
--- a/tools/Android.mk
+++ b/tools/Android.mk
@@ -14,7 +14,7 @@
 # limitations under the License.
 #
 
-ifneq ($(filter generic_% generic emulator_% emulator64_%, $(TARGET_DEVICE)),)
+ifneq ($(filter generic_% generic emulator_% emulator64_% emu64%, $(TARGET_DEVICE)),)
 LOCAL_PATH:= $(call my-dir)
 
 include $(CLEAR_VARS)
diff --git a/vendor.mk b/vendor.mk
index 87dbe58..7923267 100644
--- a/vendor.mk
+++ b/vendor.mk
@@ -55,6 +55,7 @@
     libcodec2_goldfish_vp8dec \
     libcodec2_goldfish_vp9dec \
     libcodec2_goldfish_avcdec \
+    libcodec2_goldfish_hevcdec \
     sh_vendor \
     local_time.default \
     SdkSetup \
@@ -124,11 +125,13 @@
     SystemUIEmulationPixel4aOverlay \
     EmulationPixel3XLOverlay \
     SystemUIEmulationPixel3XLOverlay \
+    EmulationPixel3Overlay \
     SystemUIEmulationPixel3Overlay \
+    EmulationPixel3aOverlay \
     SystemUIEmulationPixel3aOverlay \
+    EmulationPixel3aXLOverlay \
     SystemUIEmulationPixel3aXLOverlay \
     EmulationPixel2XLOverlay \
-    SystemUIEmulationPixel2XLOverlay \
     NavigationBarMode2ButtonOverlay \
 
 ifneq ($(EMULATOR_VENDOR_NO_GNSS),true)
@@ -283,7 +286,7 @@
     device/generic/goldfish/init.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ranchu.rc \
     device/generic/goldfish/init.system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.system_ext.rc \
     device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \
-    device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
+    device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \
     device/generic/goldfish/input/virtio_input_rotary.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_rotary.idc \
     device/generic/goldfish/input/qwerty2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty2.idc \
     device/generic/goldfish/input/qwerty.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/qwerty.kl \
diff --git a/x86-vendor.mk b/x86-vendor.mk
index a8c95cb..3a0bd02 100644
--- a/x86-vendor.mk
+++ b/x86-vendor.mk
@@ -22,7 +22,7 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.crypto.dm_default_key.options_format.version=2
 
-PRODUCT_SHIPPING_API_LEVEL := 31
+PRODUCT_SHIPPING_API_LEVEL := 33
 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
 TARGET_USES_MKE2FS := true
 
diff --git a/x86_64-vendor.mk b/x86_64-vendor.mk
index bd7e993..b2a169a 100644
--- a/x86_64-vendor.mk
+++ b/x86_64-vendor.mk
@@ -35,7 +35,7 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.crypto.dm_default_key.options_format.version=2
 
-PRODUCT_SHIPPING_API_LEVEL := 31
+PRODUCT_SHIPPING_API_LEVEL := 33
 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
 TARGET_USES_MKE2FS := true