Merge "Check that ISystemSuspend is declared before acquiring a wake lock" into main
This commit is contained in:
commit
c315f49b2e
1 changed files with 9 additions and 2 deletions
11
power.cpp
11
power.cpp
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue