Loading core/java/android/content/pm/parsing/ParsingPackageUtils.java +8 −3 Original line number Diff line number Diff line Loading @@ -396,8 +396,13 @@ public class ParsingPackageUtils { } } pkg.setVolumeUuid(volumeUuid) .setSigningDetails(SigningDetails.UNKNOWN); pkg.setVolumeUuid(volumeUuid); if ((flags & PackageParser.PARSE_COLLECT_CERTIFICATES) != 0) { pkg.setSigningDetails(getSigningDetails(pkg, false)); } else { pkg.setSigningDetails(SigningDetails.UNKNOWN); } return input.success(pkg); } catch (Exception e) { Loading Loading @@ -449,7 +454,7 @@ public class ParsingPackageUtils { */ private ParseResult<ParsingPackage> parseBaseApk(ParseInput input, String apkPath, String codePath, Resources res, XmlResourceParser parser, int flags) throws XmlPullParserException, IOException { throws XmlPullParserException, IOException, PackageParserException { final String splitName; final String pkgName; Loading services/core/java/com/android/server/pm/ApexManager.java +3 −14 Original line number Diff line number Diff line Loading @@ -30,9 +30,9 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageInstaller; import android.content.pm.PackageManager; import android.content.pm.PackageParser; import android.content.pm.PackageParser.PackageParserException; import android.content.pm.parsing.PackageInfoWithoutStateUtils; import android.content.pm.parsing.ParsingPackageUtils; import android.os.Binder; import android.os.Environment; import android.os.RemoteException; Loading @@ -50,7 +50,6 @@ import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Preconditions; import com.android.server.pm.parsing.PackageParser2; import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.ParsedPackage; import com.android.server.utils.TimingsTraceAndSlog; import com.google.android.collect.Lists; Loading Loading @@ -491,7 +490,7 @@ public abstract class ApexManager { for (ApexInfo ai : allPkgs) { File apexFile = new File(ai.modulePath); parallelPackageParser.submit(apexFile, 0); parallelPackageParser.submit(apexFile, PackageParser.PARSE_COLLECT_CERTIFICATES); parsingApexInfo.put(apexFile, ai); } Loading @@ -504,18 +503,8 @@ public abstract class ApexManager { ApexInfo ai = parsingApexInfo.get(parseResult.scanFile); if (throwable == null) { // Unfortunately, ParallelPackageParser won't collect certificates for us. We // need to manually collect them here. ParsedPackage pp = parseResult.parsedPackage; try { pp.setSigningDetails( ParsingPackageUtils.getSigningDetails(pp, false)); } catch (PackageParserException e) { throw new IllegalStateException( "Unable to collect certificates for " + ai.modulePath, e); } final PackageInfo packageInfo = PackageInfoWithoutStateUtils.generate( pp, ai, flags); parseResult.parsedPackage, ai, flags); if (packageInfo == null) { throw new IllegalStateException("Unable to generate package info: " + ai.modulePath); Loading Loading
core/java/android/content/pm/parsing/ParsingPackageUtils.java +8 −3 Original line number Diff line number Diff line Loading @@ -396,8 +396,13 @@ public class ParsingPackageUtils { } } pkg.setVolumeUuid(volumeUuid) .setSigningDetails(SigningDetails.UNKNOWN); pkg.setVolumeUuid(volumeUuid); if ((flags & PackageParser.PARSE_COLLECT_CERTIFICATES) != 0) { pkg.setSigningDetails(getSigningDetails(pkg, false)); } else { pkg.setSigningDetails(SigningDetails.UNKNOWN); } return input.success(pkg); } catch (Exception e) { Loading Loading @@ -449,7 +454,7 @@ public class ParsingPackageUtils { */ private ParseResult<ParsingPackage> parseBaseApk(ParseInput input, String apkPath, String codePath, Resources res, XmlResourceParser parser, int flags) throws XmlPullParserException, IOException { throws XmlPullParserException, IOException, PackageParserException { final String splitName; final String pkgName; Loading
services/core/java/com/android/server/pm/ApexManager.java +3 −14 Original line number Diff line number Diff line Loading @@ -30,9 +30,9 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageInstaller; import android.content.pm.PackageManager; import android.content.pm.PackageParser; import android.content.pm.PackageParser.PackageParserException; import android.content.pm.parsing.PackageInfoWithoutStateUtils; import android.content.pm.parsing.ParsingPackageUtils; import android.os.Binder; import android.os.Environment; import android.os.RemoteException; Loading @@ -50,7 +50,6 @@ import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Preconditions; import com.android.server.pm.parsing.PackageParser2; import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.ParsedPackage; import com.android.server.utils.TimingsTraceAndSlog; import com.google.android.collect.Lists; Loading Loading @@ -491,7 +490,7 @@ public abstract class ApexManager { for (ApexInfo ai : allPkgs) { File apexFile = new File(ai.modulePath); parallelPackageParser.submit(apexFile, 0); parallelPackageParser.submit(apexFile, PackageParser.PARSE_COLLECT_CERTIFICATES); parsingApexInfo.put(apexFile, ai); } Loading @@ -504,18 +503,8 @@ public abstract class ApexManager { ApexInfo ai = parsingApexInfo.get(parseResult.scanFile); if (throwable == null) { // Unfortunately, ParallelPackageParser won't collect certificates for us. We // need to manually collect them here. ParsedPackage pp = parseResult.parsedPackage; try { pp.setSigningDetails( ParsingPackageUtils.getSigningDetails(pp, false)); } catch (PackageParserException e) { throw new IllegalStateException( "Unable to collect certificates for " + ai.modulePath, e); } final PackageInfo packageInfo = PackageInfoWithoutStateUtils.generate( pp, ai, flags); parseResult.parsedPackage, ai, flags); if (packageInfo == null) { throw new IllegalStateException("Unable to generate package info: " + ai.modulePath); Loading