diff options
author | 2016-11-28 13:48:24 +0000 | |
---|---|---|
committer | 2016-11-28 13:48:24 +0000 | |
commit | e1cb95bbeec31971dcab6a39b4666a12214a68b3 (patch) | |
tree | 05547181cceb08844ae4140df6234022fed306cd | |
parent | d0835e45f7663cb6abef383b9d903429c824cd20 (diff) | |
parent | fbeca51bc9f5ff1e98c5ceab30d50665e1a810d1 (diff) |
Merge "Use the new refined DexOptNeeded codes." am: d7e597a2e7 am: 99ae18486c am: 51b40ee3eb
am: fbeca51bc9
Change-Id: I7f6578d517a77dd24ab5dc785b7fdd0ab8fd5946
-rw-r--r-- | services/core/java/com/android/server/pm/PackageDexOptimizer.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 1ef4a9fa5849..acdcc72c7f71 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -219,19 +219,20 @@ class PackageDexOptimizer { final String dexoptType; String oatDir = null; - switch (dexoptNeeded) { + boolean isOdexLocation = (dexoptNeeded < 0); + switch (Math.abs(dexoptNeeded)) { case DexFile.NO_DEXOPT_NEEDED: continue; - case DexFile.DEX2OAT_NEEDED: + case DexFile.DEX2OAT_FROM_SCRATCH: + case DexFile.DEX2OAT_FOR_BOOT_IMAGE: + case DexFile.DEX2OAT_FOR_FILTER: + case DexFile.DEX2OAT_FOR_RELOCATION: dexoptType = "dex2oat"; oatDir = createOatDirIfSupported(pkg, dexCodeInstructionSet); break; - case DexFile.PATCHOAT_NEEDED: + case DexFile.PATCHOAT_FOR_RELOCATION: dexoptType = "patchoat"; break; - case DexFile.SELF_PATCHOAT_NEEDED: - dexoptType = "self patchoat"; - break; default: throw new IllegalStateException("Invalid dexopt:" + dexoptNeeded); } @@ -383,7 +384,7 @@ class PackageDexOptimizer { protected int adjustDexoptNeeded(int dexoptNeeded) { // Ensure compilation, no matter the current state. // TODO: The return value is wrong when patchoat is needed. - return DexFile.DEX2OAT_NEEDED; + return DexFile.DEX2OAT_FROM_SCRATCH; } } } |