Avoid collectting certificates repeatedly in method ParsingPackageUtils.parseMonolithicPackage
Pass liteParseFlags without PARSE_COLLECT_CERTIFICATES flag when parsing APK
Bug: 330773072
Test: Build
Change-Id: I34eec72cbb471c4fc3fb61908952bea63b80ef43
diff --git a/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java b/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java
index dbe4fba..9fc7ddb 100644
--- a/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java
+++ b/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java
@@ -415,8 +415,10 @@
*/
private ParseResult<ParsingPackage> parseMonolithicPackage(ParseInput input, File apkFile,
int flags) {
+ // The signature parsing will be done later in method parseBaseApk.
+ int liteParseFlags = flags & ~PARSE_COLLECT_CERTIFICATES;
final ParseResult<PackageLite> liteResult =
- ApkLiteParseUtils.parseMonolithicPackageLite(input, apkFile, flags);
+ ApkLiteParseUtils.parseMonolithicPackageLite(input, apkFile, liteParseFlags);
if (liteResult.isError()) {
return input.error(liteResult);
}