Merge "Relabel misc from system_block_device to to misc_block_device."
diff --git a/Android.bp b/Android.bp
index ef13c87..3daac1d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -31,7 +31,7 @@
 
 cc_defaults {
   name: "enabled_on_q_internal_and_later",
-  enabled: false
+  enabled: true
 }
 
 cc_defaults {
diff --git a/shared/BoardConfig.mk b/shared/BoardConfig.mk
index 49d2c66..37a03c7 100644
--- a/shared/BoardConfig.mk
+++ b/shared/BoardConfig.mk
@@ -18,6 +18,15 @@
 # Common BoardConfig for all supported architectures.
 #
 
+include build/make/target/board/BoardConfigMainlineCommon.mk
+
+# Reset CF unsupported settings
+TARGET_NO_RECOVERY := false
+BOARD_USES_SYSTEM_OTHER_ODEX :=
+WITH_DEXPREOPT := true
+BOARD_AVB_ENABLE := false
+
+
 TARGET_BOOTLOADER_BOARD_NAME := cutf
 
 # Boot partition size: 32M
@@ -29,14 +38,12 @@
 # Build a separate vendor.img partition
 BOARD_USES_VENDORIMAGE := true
 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_COPY_OUT_VENDOR := vendor
 
 BOARD_USES_METADATA_PARTITION := true
 
 # Build a separate product.img partition
 BOARD_USES_PRODUCTIMAGE := true
 BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
-TARGET_COPY_OUT_PRODUCT := product
 
 # Build a separate system_ext.img partition
 BOARD_USES_SYSTEM_EXTIMAGE := true
@@ -48,9 +55,7 @@
 endif
 BOARD_USES_GENERIC_AUDIO := false
 USE_CAMERA_STUB := true
-TARGET_USERIMAGES_USE_EXT4 := true
 TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
-TARGET_USES_64_BIT_BINDER := true
 
 # Hardware composer configuration
 TARGET_USES_HWC2 := true
@@ -83,8 +88,6 @@
 # TODO(san): See if we can get rid of this.
 BOARD_FLASH_BLOCK_SIZE := 512
 
-WITH_DEXPREOPT := true
-
 USE_OPENGL_RENDERER := true
 
 # Wifi.
@@ -141,12 +144,6 @@
 DHCPCD_USE_DBUS := no
 DHCPCD_USE_SCRIPT := yes
 
-USE_XML_AUDIO_POLICY_CONF := 1
-
-BOARD_VNDK_VERSION := current
-
-# TODO(b/73078796): remove
-BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
 
 TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
 ifeq ($(TARGET_BUILD_SYSTEM_ROOT_IMAGE),true)
@@ -180,6 +177,3 @@
 # To see full logs from init, disable ratelimiting.
 # The default is 5 messages per second amortized, with a burst of up to 10.
 BOARD_KERNEL_CMDLINE += printk.devkmsg=on
-
-# Include stats logging code in LMKD
-TARGET_LMKD_STATS_LOG := true
diff --git a/shared/auto/device.mk b/shared/auto/device.mk
index 0c0ffc3..b45a1e1 100644
--- a/shared/auto/device.mk
+++ b/shared/auto/device.mk
@@ -62,11 +62,11 @@
 PRODUCT_PACKAGES += android.hardware.broadcastradio@2.0-service
 
 # DRM HAL
-PRODUCT_PACKAGES += android.hardware.drm@1.1-service.clearkey
+PRODUCT_PACKAGES += android.hardware.drm@1.2-service.clearkey
 
 # GPS HAL
 PRODUCT_PACKAGES += \
-    android.hardware.gnss@1.1-service
+    android.hardware.gnss@2.0-service
 
 # DRM Properities
 PRODUCT_PROPERTY_OVERRIDES += \
@@ -81,6 +81,9 @@
 # Placed here due to b/110784510
 PRODUCT_BRAND := generic
 
+PRODUCT_ENFORCE_RRO_TARGETS := framework-res
+PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := device/google/cuttlefish/shared/overlay
+
 TARGET_USE_DYNAMIC_PARTITIONS ?= true
 TARGET_NO_TELEPHONY := true
 
diff --git a/shared/auto/manifest.xml b/shared/auto/manifest.xml
index 6103c0b..7fcdd4d 100644
--- a/shared/auto/manifest.xml
+++ b/shared/auto/manifest.xml
@@ -46,7 +46,8 @@
         <version>2.0</version>
         <interface>
             <name>IBroadcastRadio</name>
-            <instance>default</instance>
+            <instance>amfm</instance>
+            <instance>dab</instance>
         </interface>
     </hal>
 </manifest>
diff --git a/shared/config/init.common.rc b/shared/config/init.common.rc
index ca6aa33..3778d81 100644
--- a/shared/config/init.common.rc
+++ b/shared/config/init.common.rc
@@ -129,6 +129,7 @@
 service wpa_supplicant /vendor/bin/hw/wpa_supplicant -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
     socket wpa_wlan0 dgram 660 wifi wifi
     group system wifi inet
     disabled
diff --git a/shared/config/manifest.xml b/shared/config/manifest.xml
index ffcc885..0588bb9 100644
--- a/shared/config/manifest.xml
+++ b/shared/config/manifest.xml
@@ -20,7 +20,7 @@
     <hal format="hidl">
         <name>android.hardware.audio</name>
         <transport>hwbinder</transport>
-        <version>4.0</version>
+        <version>5.0</version>
         <interface>
             <name>IDevicesFactory</name>
             <instance>default</instance>
@@ -29,7 +29,7 @@
     <hal format="hidl">
         <name>android.hardware.audio.effect</name>
         <transport>hwbinder</transport>
-        <version>4.0</version>
+        <version>5.0</version>
         <interface>
             <name>IEffectsFactory</name>
             <instance>default</instance>
@@ -44,6 +44,17 @@
             <instance>default</instance>
         </interface>
     </hal>
+    <!-- TODO (b/130076570):
+    <hal format="hidl">
+        <name>android.hardware.biometrics.face</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IBiometricsFace</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    -->
     <!-- TODO (b/130079316):
     <hal format="hidl">
         <name>android.hardware.biometrics.fingerprint</name>
@@ -128,7 +139,7 @@
     <hal format="hidl">
         <name>android.hardware.drm</name>
         <transport>hwbinder</transport>
-        <version>1.1</version>
+        <version>1.2</version>
         <interface>
             <name>ICryptoFactory</name>
             <instance>clearkey</instance>
@@ -149,15 +160,6 @@
             <instance>default</instance>
         </interface>
     </hal>
-    <hal format="hidl">
-        <name>android.hardware.gnss</name>
-        <transport>hwbinder</transport>
-        <version>1.1</version>
-        <interface>
-            <name>IGnss</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
     <!-- TODO (b/130074193): -->
     <hal format="hidl">
         <name>android.hardware.graphics.allocator</name>
@@ -197,17 +199,6 @@
             <instance>default</instance>
         </interface>
     </hal>
-    <!-- FIXME: compatibility_matrix.current.xml is broken
-    <hal format="hidl">
-        <name>android.hardware.health.filesystem</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IFileSystem</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    -->
     <!-- TODO (b/130075874):
     <hal format="hidl">
         <name>android.hardware.ir</name>
@@ -332,15 +323,6 @@
     </hal>
     -->
     <hal format="hidl">
-        <name>android.hardware.sensors</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>ISensors</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.soundtrigger</name>
         <transport>hwbinder</transport>
         <version>2.0</version>
@@ -371,17 +353,6 @@
         </interface>
     </hal>
     -->
-    <!-- FIXME: AOSP thermal HAL 1.0 is broken
-    <hal format="hidl">
-        <name>android.hardware.thermal</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IThermal</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    -->
     <hal format="hidl">
         <name>android.hardware.usb</name>
         <transport>hwbinder</transport>
@@ -460,7 +431,7 @@
     <hal format="hidl">
         <name>android.hardware.wifi.supplicant</name>
         <transport>hwbinder</transport>
-        <version>1.1</version>
+        <version>1.2</version>
         <interface>
             <name>ISupplicant</name>
             <instance>default</instance>
diff --git a/shared/device.mk b/shared/device.mk
index 9b2ec89..e3d2209 100644
--- a/shared/device.mk
+++ b/shared/device.mk
@@ -16,6 +16,7 @@
 
 # Enable updating of APEXes
 $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
+PRODUCT_PACKAGES := com.android.apex.cts.shim.v1_prebuilt
 
 PRODUCT_SHIPPING_API_LEVEL := 29
 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
@@ -123,6 +124,7 @@
     frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
     frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
     frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
+    frameworks/av/services/audiopolicy/config/surround_sound_configuration_5_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/surround_sound_configuration_5_0.xml \
     frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
     frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
     frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
@@ -233,8 +235,8 @@
 PRODUCT_PACKAGES += \
     audio.primary.cutf \
     audio.r_submix.default \
-    android.hardware.audio@4.0-impl:32 \
-    android.hardware.audio.effect@4.0-impl:32 \
+    android.hardware.audio@5.0-impl:32 \
+    android.hardware.audio.effect@5.0-impl:32 \
     android.hardware.audio@2.0-service \
     android.hardware.soundtrigger@2.0-impl \
 
@@ -242,7 +244,7 @@
 # Drm HAL
 #
 PRODUCT_PACKAGES += \
-    android.hardware.drm@1.1-service.clearkey
+    android.hardware.drm@1.2-service.clearkey
 
 #
 # Dumpstate HAL
@@ -270,7 +272,7 @@
 # GPS
 #
 PRODUCT_PACKAGES += \
-    android.hardware.gnss@1.1-service
+    android.hardware.gnss@2.0-service
 
 # Health
 PRODUCT_PACKAGES += \
@@ -280,13 +282,20 @@
 PRODUCT_PACKAGES += \
     android.hardware.health.storage@1.0-service.cuttlefish
 
+# Input Classifier HAL
+PRODUCT_PACKAGES += \
+    android.hardware.input.classifier@1.0-service.default
+
 #
 # Sensors
 #
 PRODUCT_PACKAGES += \
-    sensors.cutf \
-    android.hardware.sensors@1.0-impl \
-    android.hardware.sensors@1.0-service
+    android.hardware.sensors@2.0-service.mock
+#
+# Thermal (mock)
+#
+PRODUCT_PACKAGES += \
+    android.hardware.thermal@2.0-service.mock
 
 #
 # Lights
@@ -333,7 +342,9 @@
 PRODUCT_PACKAGES += \
     android.hardware.usb@1.0-service
 
-# TODO vibrator HAL
+# Vibrator HAL
+PRODUCT_PACKAGES += \
+    android.hardware.vibrator@1.3-service.example
 
 PRODUCT_PACKAGES += \
     cuttlefish_dtb
diff --git a/shared/sepolicy/vendor/file_contexts b/shared/sepolicy/vendor/file_contexts
index b09122d..e46880a 100644
--- a/shared/sepolicy/vendor/file_contexts
+++ b/shared/sepolicy/vendor/file_contexts
@@ -60,12 +60,16 @@
 /vendor/bin/hw/android\.hardware\.drm@1\.1-service\.clearkey  u:object_r:hal_drm_default_exec:s0
 /vendor/bin/hw/android\.hardware\.dumpstate@1\.0-service\.cuttlefish  u:object_r:hal_dumpstate_impl_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\.health@2\.0-service.cuttlefish  u:object_r:hal_health_default_exec:s0
-/vendor/bin/hw/android\.hardware\.health\.storage@1\.0-service.cuttlefish  u:object_r:hal_health_storage_default_exec:s0
+/vendor/bin/hw/android\.hardware\.health@2\.0-service\.cuttlefish  u:object_r:hal_health_default_exec:s0
+/vendor/bin/hw/android\.hardware\.health\.storage@1\.0-service\.cuttlefish u:object_r:hal_health_storage_default_exec:s0
 /vendor/bin/hw/android\.hardware\.neuralnetworks@1\.2-service-sample-.*   u:object_r:hal_neuralnetworks_sample_exec:s0
+/vendor/bin/hw/android\.hardware\.vibrator@1\.3-service\.example u:object_r:hal_vibrator_default_exec:s0
 /vendor/bin/hw/android\.hardware\.tv\.cec@1\.0-service\.mock u:object_r:hal_tv_cec_mock_exec:s0
 /vendor/bin/ip_link_add  u:object_r:ip_link_add_exec:s0
 /vendor/bin/setup_wifi  u:object_r:setup_wifi_exec:s0
+/vendor/bin/hw/android\.hardware\.sensors@2\.0-service\.mock  u:object_r:hal_sensors_default_exec:s0
+/vendor/bin/hw/android\.hardware\.input\.classifier@1\.0-service.default  u:object_r:hal_input_classifier_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
 /vendor/bin/init\.insmod\.sh  u:object_r:init_insmod_sh_exec:s0
 
diff --git a/shared/sepolicy/vendor/init.te b/shared/sepolicy/vendor/init.te
index f6731f7..26f7110 100644
--- a/shared/sepolicy/vendor/init.te
+++ b/shared/sepolicy/vendor/init.te
@@ -11,3 +11,7 @@
 # binfmt_misc arm for ndk translator
 allow init binfmt_miscfs:file w_file_perms;
 allow init proc:dir mounton;
+
+# /mnt/sdcard -> /storage/self/primary symlink is deprecated. Ignore attempts to
+# create it. This denial is fixed in core policy in Android R aosp/943799.
+dontaudit init tmpfs:lnk_file create;