Merge changes from topic "wait-for-aidl" into stage-aosp-master
* changes: PowerManagerService: use waitForService. ServiceManagerProxy: add APIs.
This commit is contained in:
committed by
Android (Google) Code Review
commit
d6b5bdf07d
@@ -76,6 +76,16 @@ class ServiceManagerProxy implements IServiceManager {
|
||||
return mServiceManager.listServices(dumpPriority);
|
||||
}
|
||||
|
||||
public void registerForNotifications(String name, IServiceCallback cb)
|
||||
throws RemoteException {
|
||||
throw new RemoteException();
|
||||
}
|
||||
|
||||
public void unregisterForNotifications(String name, IServiceCallback cb)
|
||||
throws RemoteException {
|
||||
throw new RemoteException();
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as mServiceManager but used by apps.
|
||||
*
|
||||
|
||||
@@ -201,13 +201,8 @@ sp<ISystemSuspend> getSuspendHal() {
|
||||
sp<ISuspendControlService> getSuspendControl() {
|
||||
static std::once_flag suspendControlFlag;
|
||||
std::call_once(suspendControlFlag, [](){
|
||||
while(gSuspendControl == nullptr) {
|
||||
sp<IBinder> control =
|
||||
defaultServiceManager()->getService(String16("suspend_control"));
|
||||
if (control != nullptr) {
|
||||
gSuspendControl = interface_cast<ISuspendControlService>(control);
|
||||
}
|
||||
}
|
||||
gSuspendControl = waitForService<ISuspendControlService>(String16("suspend_control"));
|
||||
LOG_ALWAYS_FATAL_IF(gSuspendControl == nullptr);
|
||||
});
|
||||
return gSuspendControl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user