diff options
| author | Patrick Baumann <patb@google.com> | 2018-11-28 07:15:06 -0800 |
|---|---|---|
| committer | Patrick Baumann <patb@google.com> | 2018-12-20 11:46:01 -0800 |
| commit | 34cf12c02cdd03f71863cd12f2fb1f72fce0e37d (patch) | |
| tree | 33198a03f1cc19b9e3aaca754f966596b6bdb9d3 /core/java | |
| parent | 8a8ec5a576d00e42feb05277b4a4366a7d7b3f59 (diff) | |
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
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/content/pm/SharedLibraryInfo.java | 20 |
1 files changed, 19 insertions, 1 deletions
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,11 +33,29 @@ 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, TYPE_DYNAMIC, |
