From a1aa38c7b8b64e622787cd025bb9b84afa7f6607 Mon Sep 17 00:00:00 2001 From: Mis012 Date: Sat, 12 Aug 2023 13:06:10 +0200 Subject: [PATCH] api-impl/android/content/pm/PackageInfo: make some items not stubs --- .../android/content/pm/PackageInfo.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/api-impl/android/content/pm/PackageInfo.java b/src/api-impl/android/content/pm/PackageInfo.java index 2d57f99f..33f8f514 100644 --- a/src/api-impl/android/content/pm/PackageInfo.java +++ b/src/api-impl/android/content/pm/PackageInfo.java @@ -16,11 +16,17 @@ package android.content.pm; +import com.reandroid.arsc.chunk.xml.AndroidManifestBlock; +import java.io.InputStream; +import java.io.IOException; + /** * Overall information about the contents of a package. This corresponds * to all of the information collected from AndroidManifest.xml. */ public class PackageInfo { + private static AndroidManifestBlock manifest = null; // TODO: only ever load this once, in one place + /** * The name of this package. From the <manifest> tag's "name" * attribute. @@ -230,7 +236,20 @@ public class PackageInfo { */ public String requiredAccountType; + static { + InputStream inStream = ClassLoader.getSystemClassLoader().getResourceAsStream("AndroidManifest.xml"); + try { + manifest = AndroidManifestBlock.load(inStream); + } catch (IOException e) { + e.printStackTrace(); + } + } + public PackageInfo() { + packageName = manifest.getPackageName(); + versionCode = manifest.getVersionCode(); + versionName = manifest.getVersionName(); + System.out.println("PackageInfo(): packageName: >"+packageName+"<, versionCode: >"+versionCode+"<, versionName: >"+versionName+"<"); } public String toString() {