summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgang.huang <gang.huang@unisoc.com>2024-03-22 09:48:57 +0800
committergang huang <gang.huang@unisoc.com>2024-03-28 00:56:57 +0000
commit01294038ddbf3b54f9c1e1e9b634bd2680a2b023 (patch)
tree8175c5b3eaf1d874d9e158808f95bf19ea4972ae
parent356e0e163a2a9f59288ae7b225ebe91addb33111 (diff)
downloadbase-01294038ddbf3b54f9c1e1e9b634bd2680a2b023.tar.gz
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
-rw-r--r--core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java4
1 files changed, 3 insertions, 1 deletions
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 dbe4fba5dfdb..9fc7ddb57847 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 @@ public class ParsingPackageUtils {
*/
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);
}