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>
This commit is contained in:
Nikita Putikhin 2023-12-15 10:15:55 +00:00 committed by Automerger Merge Worker
commit a39da7cb44

View file

@ -40,8 +40,15 @@ static std::unordered_map<std::string, std::shared_ptr<IWakeLock>> gWakeLockMap;
static const std::shared_ptr<ISystemSuspend> getSystemSuspendServiceOnce() { static const std::shared_ptr<ISystemSuspend> getSystemSuspendServiceOnce() {
static std::shared_ptr<ISystemSuspend> suspendService = static std::shared_ptr<ISystemSuspend> suspendService =
ISystemSuspend::fromBinder(ndk::SpAIBinder(AServiceManager_waitForService( []() -> std::shared_ptr<ISystemSuspend> {
(ISystemSuspend::descriptor + std::string("/default")).c_str()))); 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; return suspendService;
} }