diff options
author | Nikita Putikhin <nputikhin@google.com> | 2023-12-15 10:15:55 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-12-15 10:15:55 +0000 |
commit | a39da7cb448c3b0aef575eec91b1e71af9e7521c (patch) | |
tree | 009d777191ba178478bfafb00cf5681740a3b057 | |
parent | 9a6a1b3d4e76da5edddffe0856f352328233c4fc (diff) | |
parent | c315f49b2ee6b88ad0883346a6a999971326b425 (diff) | |
download | libhardware_legacy-a39da7cb448c3b0aef575eec91b1e71af9e7521c.tar.gz |
Merge "Check that ISystemSuspend is declared before acquiring a wake lock" into main am: c315f49b2e
Original change: https://android-review.googlesource.com/c/platform/hardware/libhardware_legacy/+/2870803
Change-Id: Ibe65e62a2ebbb8a98ffc540e7d2862e6456cdfd5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | power.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -40,8 +40,15 @@ static std::unordered_map<std::string, std::shared_ptr<IWakeLock>> gWakeLockMap; static const std::shared_ptr<ISystemSuspend> getSystemSuspendServiceOnce() { static std::shared_ptr<ISystemSuspend> suspendService = - ISystemSuspend::fromBinder(ndk::SpAIBinder(AServiceManager_waitForService( - (ISystemSuspend::descriptor + std::string("/default")).c_str()))); + []() -> std::shared_ptr<ISystemSuspend> { + std::string suspendServiceName = + ISystemSuspend::descriptor + std::string("/default"); + if (!AServiceManager_isDeclared(suspendServiceName.c_str())) { + return nullptr; + } + return ISystemSuspend::fromBinder(ndk::SpAIBinder( + AServiceManager_waitForService(suspendServiceName.c_str()))); + }(); return suspendService; } |