Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1a4e7d2 authored by Han Wang's avatar Han Wang
Browse files

Fix PackageManager#getPackageArchiveInfo to cache derived fields

After switching from old parser to PackageParser2, getPackageArchiveInfo doesn't call hideAsFinal(), which results in assignDerivedFields2() not called and app info flags not initalized. As a result, appinfo.flags
is always 0. Fix it by calling hideAsFinal() to cache derived fields.

Alternative fix is to call assignDerivedFields2() in hideAsParsed(),
but I am not sure if that is what the API wants to do.

Change-Id: I33c1d8446739d6982df1fbec29e65b1c6c33556d
parent f17c2a0b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8842,6 +8842,7 @@ public abstract class PackageManager {

        try {
            ParsedPackage pp = parser2.parsePackage(apkFile, parserFlags, false);
            pp.hideAsFinal();

            return PackageInfoCommonUtils.generate(pp, flagsBits, UserHandle.myUserId());
        } catch (PackageParserException e) {