From 34cf12c02cdd03f71863cd12f2fb1f72fce0e37d Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Wed, 28 Nov 2018 07:15:06 -0800 Subject: Break shared library adds into populate and modify This change breaks current modification of shared lib state in the system into object creation and a commit step so that multiple packages may be interrogated before committing anything to the system. Change-Id: I466d588be3e9690cffc8a04e025145d747fcbb2f Bug: 109941548 Test: atest StaticSharedLibsHostTests --- core/java/android/content/pm/SharedLibraryInfo.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'core/java') diff --git a/core/java/android/content/pm/SharedLibraryInfo.java b/core/java/android/content/pm/SharedLibraryInfo.java index ad82626dd6ad..35609c9a8926 100644 --- a/core/java/android/content/pm/SharedLibraryInfo.java +++ b/core/java/android/content/pm/SharedLibraryInfo.java @@ -33,10 +33,28 @@ import java.util.List; * This class provides information for a shared library. There are * three types of shared libraries: builtin - non-updatable part of * the OS; dynamic - updatable backwards-compatible dynamically linked; - * static - updatable non backwards-compatible emulating static linking. + * static - non backwards-compatible emulating static linking. */ public final class SharedLibraryInfo implements Parcelable { + /** @hide */ + public static SharedLibraryInfo createForStatic(PackageParser.Package pkg) { + return new SharedLibraryInfo(null, pkg.packageName, pkg.getAllCodePaths(), + pkg.staticSharedLibName, + pkg.staticSharedLibVersion, + TYPE_STATIC, + new VersionedPackage(pkg.manifestPackageName, pkg.getLongVersionCode()), + null, null); + } + + /** @hide */ + public static SharedLibraryInfo createForDynamic(PackageParser.Package pkg, String name) { + return new SharedLibraryInfo(null, pkg.packageName, pkg.getAllCodePaths(), name, + (long) VERSION_UNDEFINED, + TYPE_DYNAMIC, new VersionedPackage(pkg.packageName, pkg.getLongVersionCode()), + null, null); + } + /** @hide */ @IntDef(flag = true, prefix = { "TYPE_" }, value = { TYPE_BUILTIN, -- cgit v1.2.3