summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2023-12-04 23:42:08 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-12-04 23:42:08 +0000
commit928edefaf32d0dedf5f38e4e4cbc003b938b2be0 (patch)
tree901e85c433bc52e57c8178c40a9871f66045c533
parent67b04500ba78f0b727196e5870e1506274e30733 (diff)
parentadb1320e43449b61d03b5e9827df91970819cf62 (diff)
downloadlibhidl-928edefaf32d0dedf5f38e4e4cbc003b938b2be0.tar.gz
If hwservicemanager isn't installed, isHidlSupported == false am: adb1320e43
Original change: https://android-review.googlesource.com/c/platform/system/libhidl/+/2855496 Change-Id: I2404926f77cc2d5e78070d9a084f0a0932b6e369 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.