Use LLNDK guard instead of builtin_available
APEXSUPPORT_API was a workaround when we had no support for
__ANDROID_VENDOR_API__. Since we have it now, use it instead of
builtin_available(android APEXSUPPORT_API).
Bug: 302088370
Test: consumerir HAL APEX loading consumerir.default from the same APEX
Test: ConsumerIrTest VtsHalIrTargetTest
Change-Id: I6c9cf7e4555f7f242cc61defe7a67e3d11d79f6e
diff --git a/hardware.c b/hardware.c
index 7907331..94b5d5d 100644
--- a/hardware.c
+++ b/hardware.c
@@ -179,20 +179,20 @@
const char *subname)
{
#ifdef __ANDROID_APEX__
- // When used in APEX, it should look only into the same APEX because
+ // When used in VAPEX, it should look only into the same APEX because
// libhardware modules don't provide ABI stability.
- if (__builtin_available(android AAPEXSUPPORT_API, *)) {
- AApexInfo *apex_info;
- if (AApexInfo_create(&apex_info) == AAPEXINFO_OK) {
- snprintf(path, path_len, "/apex/%s/%s/%s.%s.so",
- AApexInfo_getName(apex_info), HAL_LIBRARY_SUBDIR, name, subname);
- AApexInfo_destroy(apex_info);
- if (access(path, R_OK) == 0)
- return 0;
- }
- } else {
- ALOGE("hw_module_exists: libapexsupport is not supported in %d.", __ANDROID_API__);
+#if __ANDROID_VENDOR_API__ >= 202404
+ AApexInfo *apex_info;
+ if (AApexInfo_create(&apex_info) == AAPEXINFO_OK) {
+ snprintf(path, path_len, "/apex/%s/%s/%s.%s.so",
+ AApexInfo_getName(apex_info), HAL_LIBRARY_SUBDIR, name, subname);
+ AApexInfo_destroy(apex_info);
+ if (access(path, R_OK) == 0)
+ return 0;
}
+#else // __ANDROID_VENDOR_API__
+ ALOGE("hw_module_exists: libapexsupport is not supported in %d.", __ANDROID_VENDOR_API__);
+#endif // __ANDROID_VENDOR_API__
#else // __ANDROID_APEX__
snprintf(path, path_len, "%s/%s.%s.so",
HAL_LIBRARY_PATH3, name, subname);