Loading core/java/android/content/pm/PackageParser.java +8 −0 Original line number Diff line number Diff line Loading @@ -6317,6 +6317,7 @@ public class PackageParser { public ArrayList<String> usesOptionalLibraries = null; @UnsupportedAppUsage public String[] usesLibraryFiles = null; public ArrayList<SharedLibraryInfo> usesLibraryInfos = null; public ArrayList<ActivityIntentInfo> preferredActivityFilters = null; Loading Loading @@ -6846,6 +6847,8 @@ public class PackageParser { internStringArrayList(usesOptionalLibraries); usesLibraryFiles = dest.readStringArray(); usesLibraryInfos = dest.createTypedArrayList(SharedLibraryInfo.CREATOR); final int libCount = dest.readInt(); if (libCount > 0) { usesStaticLibraries = new ArrayList<>(libCount); Loading Loading @@ -6996,6 +6999,7 @@ public class PackageParser { dest.writeStringList(usesLibraries); dest.writeStringList(usesOptionalLibraries); dest.writeStringArray(usesLibraryFiles); dest.writeTypedList(usesLibraryInfos); if (ArrayUtils.isEmpty(usesStaticLibraries)) { dest.writeInt(-1); Loading Loading @@ -7456,6 +7460,10 @@ public class PackageParser { && p.usesLibraryFiles != null) { return true; } if ((flags & PackageManager.GET_SHARED_LIBRARY_FILES) != 0 && p.usesLibraryInfos != null) { return true; } if (p.staticSharedLibName != null) { return true; } Loading core/java/android/content/pm/SharedLibraryInfo.java +34 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.content.pm; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -69,6 +70,8 @@ public final class SharedLibraryInfo implements Parcelable { */ public static final int VERSION_UNDEFINED = -1; private final String mPath; private final String mPackageName; private final String mName; private final long mVersion; Loading @@ -87,8 +90,10 @@ public final class SharedLibraryInfo implements Parcelable { * * @hide */ public SharedLibraryInfo(String name, long version, int type, public SharedLibraryInfo(String path, String packageName, String name, long version, int type, VersionedPackage declaringPackage, List<VersionedPackage> dependentPackages) { mPath = path; mPackageName = packageName; mName = name; mVersion = version; mType = type; Loading @@ -97,8 +102,8 @@ public final class SharedLibraryInfo implements Parcelable { } private SharedLibraryInfo(Parcel parcel) { this(parcel.readString(), parcel.readLong(), parcel.readInt(), parcel.readParcelable(null), parcel.readArrayList(null)); this(parcel.readString(), parcel.readString(), parcel.readString(), parcel.readLong(), parcel.readInt(), parcel.readParcelable(null), parcel.readArrayList(null)); } /** Loading @@ -120,6 +125,30 @@ public final class SharedLibraryInfo implements Parcelable { return mName; } /** * If the shared library is a jar file, returns the path of that jar. Null otherwise. * Only libraries with TYPE_BUILTIN are in jar files. * * @return The path. * * @hide */ public @Nullable String getPath() { return mPath; } /** * If the shared library is an apk, returns the package name. Null otherwise. * Only libraries with TYPE_DYNAMIC or TYPE_STATIC are in apks. * * @return The package name. * * @hide */ public @Nullable String getPackageName() { return mPackageName; } /** * @deprecated Use {@link #getLongVersion()} instead. */ Loading Loading @@ -196,6 +225,8 @@ public final class SharedLibraryInfo implements Parcelable { @Override public void writeToParcel(Parcel parcel, int flags) { parcel.writeString(mPath); parcel.writeString(mPackageName); parcel.writeString(mName); parcel.writeLong(mVersion); parcel.writeInt(mType); Loading services/core/java/com/android/server/pm/PackageManagerService.java +120 −118 File changed.Preview size limit exceeded, changes collapsed. Show changes services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.content.pm.InstrumentationInfo; import android.content.pm.PackageParser; import android.content.pm.ProviderInfo; import android.content.pm.ServiceInfo; import android.content.pm.SharedLibraryInfo; import android.content.pm.Signature; import android.os.Bundle; import android.os.Parcel; Loading Loading @@ -487,6 +488,9 @@ public class PackageParserTest { pkg.usesLibraryFiles = new String[] { "foo13"}; pkg.usesLibraryInfos = new ArrayList<>(); pkg.usesLibraryInfos.add(new SharedLibraryInfo(null, null, null, 0L, 0, null, null)); pkg.mOriginalPackages = new ArrayList<>(); pkg.mOriginalPackages.add("foo14"); Loading Loading
core/java/android/content/pm/PackageParser.java +8 −0 Original line number Diff line number Diff line Loading @@ -6317,6 +6317,7 @@ public class PackageParser { public ArrayList<String> usesOptionalLibraries = null; @UnsupportedAppUsage public String[] usesLibraryFiles = null; public ArrayList<SharedLibraryInfo> usesLibraryInfos = null; public ArrayList<ActivityIntentInfo> preferredActivityFilters = null; Loading Loading @@ -6846,6 +6847,8 @@ public class PackageParser { internStringArrayList(usesOptionalLibraries); usesLibraryFiles = dest.readStringArray(); usesLibraryInfos = dest.createTypedArrayList(SharedLibraryInfo.CREATOR); final int libCount = dest.readInt(); if (libCount > 0) { usesStaticLibraries = new ArrayList<>(libCount); Loading Loading @@ -6996,6 +6999,7 @@ public class PackageParser { dest.writeStringList(usesLibraries); dest.writeStringList(usesOptionalLibraries); dest.writeStringArray(usesLibraryFiles); dest.writeTypedList(usesLibraryInfos); if (ArrayUtils.isEmpty(usesStaticLibraries)) { dest.writeInt(-1); Loading Loading @@ -7456,6 +7460,10 @@ public class PackageParser { && p.usesLibraryFiles != null) { return true; } if ((flags & PackageManager.GET_SHARED_LIBRARY_FILES) != 0 && p.usesLibraryInfos != null) { return true; } if (p.staticSharedLibName != null) { return true; } Loading
core/java/android/content/pm/SharedLibraryInfo.java +34 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.content.pm; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; import android.os.Parcel; import android.os.Parcelable; Loading Loading @@ -69,6 +70,8 @@ public final class SharedLibraryInfo implements Parcelable { */ public static final int VERSION_UNDEFINED = -1; private final String mPath; private final String mPackageName; private final String mName; private final long mVersion; Loading @@ -87,8 +90,10 @@ public final class SharedLibraryInfo implements Parcelable { * * @hide */ public SharedLibraryInfo(String name, long version, int type, public SharedLibraryInfo(String path, String packageName, String name, long version, int type, VersionedPackage declaringPackage, List<VersionedPackage> dependentPackages) { mPath = path; mPackageName = packageName; mName = name; mVersion = version; mType = type; Loading @@ -97,8 +102,8 @@ public final class SharedLibraryInfo implements Parcelable { } private SharedLibraryInfo(Parcel parcel) { this(parcel.readString(), parcel.readLong(), parcel.readInt(), parcel.readParcelable(null), parcel.readArrayList(null)); this(parcel.readString(), parcel.readString(), parcel.readString(), parcel.readLong(), parcel.readInt(), parcel.readParcelable(null), parcel.readArrayList(null)); } /** Loading @@ -120,6 +125,30 @@ public final class SharedLibraryInfo implements Parcelable { return mName; } /** * If the shared library is a jar file, returns the path of that jar. Null otherwise. * Only libraries with TYPE_BUILTIN are in jar files. * * @return The path. * * @hide */ public @Nullable String getPath() { return mPath; } /** * If the shared library is an apk, returns the package name. Null otherwise. * Only libraries with TYPE_DYNAMIC or TYPE_STATIC are in apks. * * @return The package name. * * @hide */ public @Nullable String getPackageName() { return mPackageName; } /** * @deprecated Use {@link #getLongVersion()} instead. */ Loading Loading @@ -196,6 +225,8 @@ public final class SharedLibraryInfo implements Parcelable { @Override public void writeToParcel(Parcel parcel, int flags) { parcel.writeString(mPath); parcel.writeString(mPackageName); parcel.writeString(mName); parcel.writeLong(mVersion); parcel.writeInt(mType); Loading
services/core/java/com/android/server/pm/PackageManagerService.java +120 −118 File changed.Preview size limit exceeded, changes collapsed. Show changes
services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java +4 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.content.pm.InstrumentationInfo; import android.content.pm.PackageParser; import android.content.pm.ProviderInfo; import android.content.pm.ServiceInfo; import android.content.pm.SharedLibraryInfo; import android.content.pm.Signature; import android.os.Bundle; import android.os.Parcel; Loading Loading @@ -487,6 +488,9 @@ public class PackageParserTest { pkg.usesLibraryFiles = new String[] { "foo13"}; pkg.usesLibraryInfos = new ArrayList<>(); pkg.usesLibraryInfos.add(new SharedLibraryInfo(null, null, null, 0L, 0, null, null)); pkg.mOriginalPackages = new ArrayList<>(); pkg.mOriginalPackages.add("foo14"); Loading