summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2023-12-05 00:16:36 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-12-05 00:16:36 +0000
commitf965809be652543d80008fa27a21f436ed6d8b94 (patch)
tree901e85c433bc52e57c8178c40a9871f66045c533
parentd9146484d490e20c6de28205a7a50859229f80f8 (diff)
parent6d579ef617922b26f9d8c01c86dc70d0e5d9165b (diff)
downloadlibhidl-f965809be652543d80008fa27a21f436ed6d8b94.tar.gz
If hwservicemanager isn't installed, isHidlSupported == false am: adb1320e43 am: 6d579ef617
Original change: https://android-review.googlesource.com/c/platform/system/libhidl/+/2855496 Change-Id: I59551c8e0845671d4d50bab2b8851ecc92caf2ee Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--transport/ServiceManagement.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/transport/ServiceManagement.cpp b/transport/ServiceManagement.cpp
index c3d3fa4..8867f53 100644
--- a/transport/ServiceManagement.cpp
+++ b/transport/ServiceManagement.cpp
@@ -211,7 +211,16 @@ static bool isServiceManager(const hidl_string& fqName) {
fqName == IServiceManager1_2::descriptor;
}
+static bool isHwServiceManagerInstalled() {
+ return access("/system_ext/bin/hwservicemanager", F_OK) == 0 ||
+ access("/system/system_ext/bin/hwservicemanager", F_OK) == 0 ||
+ access("/system/bin/hwservicemanager", F_OK) == 0;
+}
+
bool isHidlSupported() {
+ if (!isHwServiceManagerInstalled()) {
+ return false;
+ }
#ifdef __ANDROID__
// TODO(b/218588089) remove this temporary support variable once Cuttlefish
// (the only current Android V launching device) no longer requires HIDL.