DO NOT MERGE - Merge RQ1A.201205.011

Bug: 172690556
Merged-In: Ief2728fd1d6a9071704f63b65e512823c2a0b4de
Change-Id: I3ec6b17673edf16deb09ddb061297548f1325d50
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index eba44f8..6142e25 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -97,7 +97,7 @@
     libfstab
 
 ifneq ($(filter %_mainline,$(TARGET_PRODUCT)),)
-BOARD_AVB_VBMETA_SYSTEM := system system_ext
+BOARD_AVB_VBMETA_SYSTEM := system system_ext product
 BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
 BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
 BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..d97975c
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+  license_type: NOTICE
+}
diff --git a/aosp_blueline.mk b/aosp_blueline.mk
index 624d5da..6598167 100644
--- a/aosp_blueline.mk
+++ b/aosp_blueline.mk
@@ -18,7 +18,7 @@
 # All components inherited here go to system image
 #
 $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
 
 # Enable mainline checking
 # TODO(b/138706293): enable Enable mainline checking later
@@ -49,8 +49,11 @@
 # STOPSHIP deal with Qualcomm stuff later
 # PRODUCT_RESTRICT_VENDOR_FILES := all
 
-PRODUCT_PACKAGES += com.android.vndk.current.on_vendor
-
+# Keep the VNDK APEX in /system partition for REL branches as these branches are
+# expected to have stable API/ABI surfaces.
+ifneq (REL,$(PLATFORM_VERSION_CODENAME))
+  PRODUCT_PACKAGES += com.android.vndk.current.on_vendor
+endif
 
 PRODUCT_MANUFACTURER := Google
 PRODUCT_NAME := aosp_blueline
diff --git a/aosp_crosshatch.mk b/aosp_crosshatch.mk
index c921d36..8632b92 100644
--- a/aosp_crosshatch.mk
+++ b/aosp_crosshatch.mk
@@ -18,7 +18,7 @@
 # All components inherited here go to system image
 #
 $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
 
 # Enable mainline checking
 # TODO(b/138706293): enable Enable mainline checking later
@@ -49,8 +49,11 @@
 # STOPSHIP deal with Qualcomm stuff later
 # PRODUCT_RESTRICT_VENDOR_FILES := all
 
-PRODUCT_PACKAGES += com.android.vndk.current.on_vendor
-
+# Keep the VNDK APEX in /system partition for REL branches as these branches are
+# expected to have stable API/ABI surfaces.
+ifneq (REL,$(PLATFORM_VERSION_CODENAME))
+  PRODUCT_PACKAGES += com.android.vndk.current.on_vendor
+endif
 
 PRODUCT_MANUFACTURER := Google
 PRODUCT_NAME := aosp_crosshatch
diff --git a/device.mk b/device.mk
index 4d9058d..ab0fa07 100644
--- a/device.mk
+++ b/device.mk
@@ -291,6 +291,10 @@
     persist.camera.is_type=5 \
     persist.camera.gzoom.at=0
 
+# b/166675194
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.vendor.camera.provider24.disable_mem_init=1
+
 # camera google face detection
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.camera.googfd.enable=1
@@ -367,8 +371,10 @@
 
 # Light HAL
 PRODUCT_PACKAGES += \
-    lights.$(PRODUCT_PLATFORM) \
+    lights.qcom \
     hardware.google.light@1.0-service
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.hardware.lights=qcom
 
 # Memtrack/Vibrator HALs
 PRODUCT_PACKAGES += \
diff --git a/init.hardware.rc b/init.hardware.rc
index 3965ded..c812358 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -777,21 +777,6 @@
 on property:init.svc.vendor.hwcomposer-2-3=running
     start ppd
 
-# b/70518189 vDSO experiments
-on property:sys.vdso=*
-    write /sys/module/vdso/parameters/enable_32 1
-    write /sys/module/vdso/parameters/enable_64 1
-
-on property:sys.vdso=false
-    write /sys/module/vdso/parameters/enable_32 0
-    write /sys/module/vdso/parameters/enable_64 0
-
-on property:sys.vdso=64
-    write /sys/module/vdso/parameters/enable_32 0
-
-on property:sys.vdso=32
-    write /sys/module/vdso/parameters/enable_64 0
-
 on property:ro.boot.mode=sota
     setprop ro.boot.sota enabled
 
diff --git a/init.hardware.xr.rc b/init.hardware.xr.rc
index 983f13e..cbbd776 100644
--- a/init.hardware.xr.rc
+++ b/init.hardware.xr.rc
@@ -21,11 +21,6 @@
 import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.common.rc
 
 on init
-    # Temporarily stop booting into VR directly due to battery drain.
-    # TODO(b/131327495): Re-enable this once VrHeadsetPowerPolicyService or its
-    #                    equivalent lands in Android master.
-    setprop ro.boot.vr 0
-
     # Setup cpusets used by the VR services.
     mkdir /dev/cpuset/kernel 0750 root system
     write /dev/cpuset/kernel/cpus 0
diff --git a/powerstats/service.cpp b/powerstats/service.cpp
index ce45e2c..c9ea479 100644
--- a/powerstats/service.cpp
+++ b/powerstats/service.cpp
@@ -153,7 +153,7 @@
              .lastEntrySupported = true,
              .lastEntryPrefix = easelLastEntryPrefix}};
         sp<GenericStateResidencyDataProvider> easelSdp =
-            new GenericStateResidencyDataProvider("/d/mnh_sm/power_stats");
+            new GenericStateResidencyDataProvider("/sys/class/misc/mnh_sm/power_stats");
 
         uint32_t easelId = service->addPowerEntity("Easel", PowerEntityType::SUBSYSTEM);
         easelSdp->addEntity(
diff --git a/usb/Usb.cpp b/usb/Usb.cpp
index b3bac21..2a9350c 100644
--- a/usb/Usb.cpp
+++ b/usb/Usb.cpp
@@ -169,7 +169,7 @@
       // There are no uevent signals which implies role swap timed out.
       if (err == ETIMEDOUT) {
         ALOGI("uevents wait timedout");
-      // Sanity check.
+      // Partner check.
       } else if (!usb->mPartnerUp) {
         goto wait_again;
       // Role switch succeeded since usb->mPartnerUp is true.