From a8e4e5dcc330c18109f8f628dda2a34f067bbc89 Mon Sep 17 00:00:00 2001 From: satayev Date: Tue, 11 May 2021 17:26:47 +0100 Subject: [PATCH] Expose SharedLibraryInfo#getAllCodePaths as @TestApi. The method is called by CTS helper app to list all java shared libraries present on the device. All classes present in the reported jar/apk files are then collected by a CTS/GTS EDI collector. Bug: 187823488 Test: m Change-Id: I750065112d70bc3ab45c8b6c6cc8aa4d429488a8 --- core/api/test-current.txt | 4 ++++ core/java/android/content/pm/SharedLibraryInfo.java | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 81b9428d162a5..3b759a2f69d09 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -537,6 +537,10 @@ package android.content.pm { field @NonNull public static final android.os.Parcelable.Creator CREATOR; } + public final class SharedLibraryInfo implements android.os.Parcelable { + method @NonNull public java.util.List getAllCodePaths(); + } + public final class ShortcutInfo implements android.os.Parcelable { method public boolean isVisibleToPublisher(); } diff --git a/core/java/android/content/pm/SharedLibraryInfo.java b/core/java/android/content/pm/SharedLibraryInfo.java index da2a3d885fc6f..933a0c9ba3419 100644 --- a/core/java/android/content/pm/SharedLibraryInfo.java +++ b/core/java/android/content/pm/SharedLibraryInfo.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.TestApi; import android.os.Parcel; import android.os.Parcelable; @@ -29,6 +30,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Objects; /** * This class provides information for a shared library. There are @@ -177,7 +179,8 @@ public final class SharedLibraryInfo implements Parcelable { * * @hide */ - public List getAllCodePaths() { + @TestApi + public @NonNull List getAllCodePaths() { if (getPath() != null) { // Builtin library. ArrayList list = new ArrayList<>(); @@ -185,7 +188,7 @@ public final class SharedLibraryInfo implements Parcelable { return list; } else { // Static or dynamic library. - return mCodePaths; + return Objects.requireNonNull(mCodePaths); } }