From c5af484152253f0ff131df13d944bf79a676dbb2 Mon Sep 17 00:00:00 2001 From: Jiakai Zhang Date: Fri, 21 Oct 2022 16:05:06 +0100 Subject: [PATCH] Return no optmization info for package "android". Bug: 254235501 Test: Presubmit Change-Id: Ia464a95980eda69efef764dcb744295685798821 --- .../java/com/android/server/pm/dex/ArtManagerService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/core/java/com/android/server/pm/dex/ArtManagerService.java b/services/core/java/com/android/server/pm/dex/ArtManagerService.java index 9ebef3b41ad4c..af507cd376ddf 100644 --- a/services/core/java/com/android/server/pm/dex/ArtManagerService.java +++ b/services/core/java/com/android/server/pm/dex/ArtManagerService.java @@ -52,6 +52,7 @@ import com.android.internal.util.Preconditions; import com.android.server.LocalServices; import com.android.server.pm.Installer; import com.android.server.pm.Installer.InstallerException; +import com.android.server.pm.PackageManagerService; import com.android.server.pm.PackageManagerServiceCompilerMapping; import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.pkg.parsing.PackageInfoWithoutStateUtils; @@ -724,6 +725,13 @@ public class ArtManagerService extends android.content.pm.dex.IArtManager.Stub { @Override public PackageOptimizationInfo getPackageOptimizationInfo( ApplicationInfo info, String abi, String activityName) { + if (info.packageName.equals(PackageManagerService.PLATFORM_PACKAGE_NAME)) { + // PackageManagerService.PLATFORM_PACKAGE_NAME in this context means that the + // activity is defined in bootclasspath. Currently, we don't have an API to get the + // correct optimization info. + return PackageOptimizationInfo.createWithNoInfo(); + } + String compilationReason; String compilationFilter; try {