diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index 068b40ad5270e..ed2c8eba0ab23 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -348,6 +348,7 @@ package android.os { } public final class ServiceManager { + method @NonNull public static String[] getDeclaredInstances(@NonNull String); method public static boolean isDeclared(@NonNull String); method @Nullable public static android.os.IBinder waitForDeclaredService(@NonNull String); } diff --git a/core/java/android/os/ServiceManager.java b/core/java/android/os/ServiceManager.java index ba5ed4360cd71..9ea42780981d9 100644 --- a/core/java/android/os/ServiceManager.java +++ b/core/java/android/os/ServiceManager.java @@ -258,12 +258,14 @@ public final class ServiceManager { * waitForService should always be able to return the service. * @hide */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @NonNull public static String[] getDeclaredInstances(@NonNull String iface) { try { return getIServiceManager().getDeclaredInstances(iface); } catch (RemoteException e) { Log.e(TAG, "error in getDeclaredInstances", e); - return null; + throw e.rethrowFromSystemServer(); } }