diff options
| author | Steven Moreland <smoreland@google.com> | 2020-09-25 19:09:52 +0000 |
|---|---|---|
| committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-09-25 19:09:52 +0000 |
| commit | f5f4344d2fa99d249e8d9ae01846190e6dcd024b (patch) | |
| tree | d7f295077c392054d0a9f6d0f706354962aac323 /core/java | |
| parent | d98ecc564a490f2d93e3549ab272ae11d66c51d6 (diff) | |
| parent | 7ceee368ee4fd043caea47e52217397f12312db5 (diff) | |
Merge "ServiceManager: add getDeclaredInstances" am: 9ff2444ba7 am: b1b830369e am: 7ceee368ee
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1436518
Change-Id: I7755509b329914c491a205f843e731694b02ce84
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/os/ServiceManager.java | 15 | ||||
| -rw-r--r-- | core/java/android/os/ServiceManagerNative.java | 4 |
2 files changed, 19 insertions, 0 deletions
diff --git a/core/java/android/os/ServiceManager.java b/core/java/android/os/ServiceManager.java index b654707a683b..35e7bad83736 100644 --- a/core/java/android/os/ServiceManager.java +++ b/core/java/android/os/ServiceManager.java @@ -235,6 +235,21 @@ public final class ServiceManager { } /** + * Returns the list of declared instances for an interface. + * + * @return true if the service is declared somewhere (eg. VINTF manifest) and + * waitForService should always be able to return the service. + */ + public static String[] getDeclaredInstances(@NonNull String iface) { + try { + return getIServiceManager().getDeclaredInstances(iface); + } catch (RemoteException e) { + Log.e(TAG, "error in getDeclaredInstances", e); + return null; + } + } + + /** * Returns the specified service from the service manager. * * If the service is not running, servicemanager will attempt to start it, and this function diff --git a/core/java/android/os/ServiceManagerNative.java b/core/java/android/os/ServiceManagerNative.java index 91b56fbbc38e..b70b6b5d209e 100644 --- a/core/java/android/os/ServiceManagerNative.java +++ b/core/java/android/os/ServiceManagerNative.java @@ -90,6 +90,10 @@ class ServiceManagerProxy implements IServiceManager { return mServiceManager.isDeclared(name); } + public String[] getDeclaredInstances(String iface) throws RemoteException { + return mServiceManager.getDeclaredInstances(iface); + } + public void registerClientCallback(String name, IBinder service, IClientCallback cb) throws RemoteException { throw new RemoteException(); |
