From 81a458a73cac8a14971f979c5475832de54e4f2f Mon Sep 17 00:00:00 2001 From: Vikram Gaur Date: Fri, 11 Nov 2022 20:45:44 +0000 Subject: [PATCH] ServiceManager APIs for Remote Key Provisioning mainline module. ServiceManager.getDeclaredInstances is needed for Remote Key Provisioning mainline module to get all the implementations for IRemotelyProvisionedComponent. Test: build + usage in Remote Key Provisioning mainline module. Change-Id: I92545104fa9bc190fe7c2f84b33d5f8693fcc2a4 --- core/api/module-lib-current.txt | 1 + core/java/android/os/ServiceManager.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) 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(); } }