From 6ce213fe2cf78b60dd0f2a26c4f591b85a8e9663 Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Tue, 8 Mar 2016 15:50:19 +0000 Subject: [PATCH] Update DexFile.getDexOptNeeded in framework Partial cherry pick from commit 693f997cc8b8c2ba8d3ed29627b2641dd86392a5 Change-Id: I0fe34541e3cf77fb6e6dbe689b7cf55cb78dbe05 --- core/java/com/android/internal/os/ZygoteInit.java | 2 +- services/core/java/com/android/server/pm/PackageDexOptimizer.java | 4 ++-- services/core/java/com/android/server/pm/PackageManagerService.java | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 67ed85a5cb18..6317c07b21b3 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -484,7 +484,7 @@ public class ZygoteInit { try { for (String classPathElement : classPathElements) { final int dexoptNeeded = DexFile.getDexOptNeeded( - classPathElement, "*", instructionSet, false /* defer */); + classPathElement, instructionSet, DexFile.COMPILATION_TYPE_FULL); if (dexoptNeeded != DexFile.NO_DEXOPT_NEEDED) { installer.dexopt(classPathElement, Process.SYSTEM_UID, instructionSet, dexoptNeeded, 0 /*dexFlags*/); diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 6c6871fd8dfd..1e4d4a3306e9 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -145,8 +145,8 @@ final class PackageDexOptimizer { dexoptNeeded = DexFile.DEX2OAT_NEEDED; } else { try { - dexoptNeeded = DexFile.getDexOptNeeded(path, pkg.packageName, - dexCodeInstructionSet, defer); + dexoptNeeded = DexFile.getDexOptNeeded(path, + dexCodeInstructionSet, DexFile.COMPILATION_TYPE_FULL); } catch (IOException ioe) { Slog.w(TAG, "IOException reading apk: " + path, ioe); return DEX_OPT_FAILED; diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 9a491782f57b..cca65a48081f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -1978,7 +1978,8 @@ public class PackageManagerService extends IPackageManager.Stub { } try { - int dexoptNeeded = DexFile.getDexOptNeeded(lib, null, dexCodeInstructionSet, false); + int dexoptNeeded = DexFile.getDexOptNeeded(lib, dexCodeInstructionSet, + DexFile.COMPILATION_TYPE_FULL); if (dexoptNeeded != DexFile.NO_DEXOPT_NEEDED) { alreadyDexOpted.add(lib); mInstaller.dexopt(lib, Process.SYSTEM_UID, dexCodeInstructionSet, @@ -2028,7 +2029,8 @@ public class PackageManagerService extends IPackageManager.Stub { continue; } try { - int dexoptNeeded = DexFile.getDexOptNeeded(path, null, dexCodeInstructionSet, false); + int dexoptNeeded = DexFile.getDexOptNeeded(path, dexCodeInstructionSet, + DexFile.COMPILATION_TYPE_FULL); if (dexoptNeeded != DexFile.NO_DEXOPT_NEEDED) { mInstaller.dexopt(path, Process.SYSTEM_UID, dexCodeInstructionSet, dexoptNeeded, DEXOPT_PUBLIC /*dexFlags*/); -- 2.11.0