Fake out ApplicationInfo for APEXs.
This should be generated properly from the AndroidManifest,
but for now this is helpful to proceed with APEX testing.
Test: build
Bug: 123086053
Change-Id: I0e7182e4924c0bc26cee9c9bed520acaffccf905
(cherry picked from commit 3cd9ce3ebda0fbcf118f3f1b700d2eca2814425d)
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 486edf0..557e737 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -8488,6 +8488,18 @@
public static PackageInfo generatePackageInfoFromApex(File apexFile, boolean collectCerts)
throws PackageParserException {
PackageInfo pi = new PackageInfo();
+
+ // TODO(b/123086053) properly fill in the ApplicationInfo with data from AndroidManifest
+ // Add ApplicationInfo to the PackageInfo.
+ ApplicationInfo ai = new ApplicationInfo();
+ ai = apexFile.getPath();
+ ai.flags = ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_INSTALLED;
+ ai.enabled = true;
+ ai.targetSdkVersion = 28;
+ ai.targetSandboxVersion = 0;
+ pi.applicationInfo = ai;
+
+
// TODO(b/123052859): We should avoid these repeated calls to parseApkLite each time
// we want to generate information for APEX modules.
PackageParser.ApkLite apk = PackageParser.parseApkLite(apexFile,