summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2024-04-05 17:02:16 +0000
committerDevin Moore <devinmoore@google.com>2024-04-05 22:52:15 +0000
commit4c25a9f53fa83db26fbb58dc4b2d45812b815a10 (patch)
tree6dbb433bf1db01df678fe7e2c2ef90feeed1bc73
parent791caf183a5cd80e0b3140581708e8cc458b3e32 (diff)
downloadlibhidl-4c25a9f53fa83db26fbb58dc4b2d45812b815a10.tar.gz
Add hwservicemanager vintf fragments to system_ext
PRODUCT_HIDL_ENABLED is used to force HIDL to be enabled for device bring-up when partners have converted all of their AOSP HAL implementations to AIDL, but still have some partner-owned interfaces that they are working on converting from HIDL TO AIDL. To allow for this behavior, we need to use a different manifest fragment that doesn't have the `max-level="8"` entry on it so hwservicemanager will see itself as registered. We have to decouple the manifest fragment from the hwservicemanger binary so we can choose which one to install based on the PRODUCT_HIDL_ENABLED variable. Test: PRODUCT_HIDL_ENABLED = true && adb shell lshal Test: PRODUCT_HIDL_ENABLED = false && adb shell lshal Bug: 332548148 Change-Id: I11332f1f09cede729729cc2ed66400769dff43c7
-rw-r--r--vintfdata/Android.mk15
1 files changed, 15 insertions, 0 deletions
diff --git a/vintfdata/Android.mk b/vintfdata/Android.mk
index 0cd0d1f..ed8f506 100644
--- a/vintfdata/Android.mk
+++ b/vintfdata/Android.mk
@@ -28,6 +28,21 @@ ifdef DEVICE_FRAMEWORK_MANIFEST_FILE
endif
SYSTEM_EXT_MANIFEST_INPUT_FILES := $(LOCAL_PATH)/system_ext_manifest.default.xml
+
+ifeq ($(PRODUCT_HIDL_ENABLED),true)
+ifneq ($(filter hwservicemanager,$(PRODUCT_PACKAGES)),)
+SYSTEM_EXT_MANIFEST_INPUT_FILES += $(TOPDIR)system/hwservicemanager/hwservicemanager_no_max.xml
+else
+$(error If PRODUCT_HIDL_ENABLED is set, hwservicemanager must be added to PRODUCT_PACKAGES explicitly)
+endif
+else
+ifneq ($(filter hwservicemanager,$(PRODUCT_PACKAGES)),)
+SYSTEM_EXT_MANIFEST_INPUT_FILES += $(TOPDIR)system/hwservicemanager/hwservicemanager.xml
+else ifneq ($(filter hwservicemanager,$(PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34)),)
+SYSTEM_EXT_MANIFEST_INPUT_FILES += $(TOPDIR)system/hwservicemanager/hwservicemanager.xml
+endif
+endif
+
ifdef SYSTEM_EXT_MANIFEST_FILES
SYSTEM_EXT_MANIFEST_INPUT_FILES += $(SYSTEM_EXT_MANIFEST_FILES)
endif