From 9dff854be4f7b552c5f6fe05331b9dd85de134d1 Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Thu, 21 Jan 2016 11:41:42 -0800 Subject: [PATCH] Clean up passing volumeUuid to DexOptimizer The argument was redundant. Also, we should have taken the uuid for shared library from their package information. Bug: 26080105 Change-Id: If3d86e00ebecfc13cf63482bce4ac32a119de967 --- .../core/java/com/android/server/pm/PackageDexOptimizer.java | 11 +++++------ .../java/com/android/server/pm/PackageManagerService.java | 6 +++--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index 482217cedfea..bce722389a04 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -82,7 +82,7 @@ final class PackageDexOptimizer { * {@link PackageManagerService#mInstallLock}. */ int performDexOpt(PackageParser.Package pkg, String[] instructionSets, - boolean inclDependencies, String volumeUuid, boolean useProfiles, boolean extractOnly) { + boolean inclDependencies, boolean useProfiles, boolean extractOnly) { ArraySet done; if (inclDependencies && (pkg.usesLibraries != null || pkg.usesOptionalLibraries != null)) { done = new ArraySet(); @@ -97,7 +97,7 @@ final class PackageDexOptimizer { mDexoptWakeLock.acquire(); } try { - return performDexOptLI(pkg, instructionSets, done, volumeUuid, useProfiles, + return performDexOptLI(pkg, instructionSets, done, useProfiles, extractOnly); } finally { if (useLock) { @@ -108,7 +108,7 @@ final class PackageDexOptimizer { } private int performDexOptLI(PackageParser.Package pkg, String[] targetInstructionSets, - ArraySet done, String volumeUuid, boolean useProfiles, boolean extractOnly) { + ArraySet done, boolean useProfiles, boolean extractOnly) { final String[] instructionSets = targetInstructionSets != null ? targetInstructionSets : getAppDexInstructionSets(pkg.applicationInfo); @@ -185,7 +185,7 @@ final class PackageDexOptimizer { try { mPackageManagerService.mInstaller.dexopt(path, sharedGid, pkg.packageName, dexCodeInstructionSet, dexoptNeeded, oatDir, - dexFlags, volumeUuid, useProfiles); + dexFlags, pkg.volumeUuid, useProfiles); performedDexOpt = true; } catch (InstallerException e) { Slog.w(TAG, "Failed to dexopt", e); @@ -252,8 +252,7 @@ final class PackageDexOptimizer { if (libPkg != null && !done.contains(libName)) { // TODO: Analyze and investigate if we (should) profile libraries. // Currently this will do a full compilation of the library. - performDexOptLI(libPkg, instructionSets, done, - StorageManager.UUID_PRIVATE_INTERNAL, /*useProfiles*/ false, + performDexOptLI(libPkg, instructionSets, done, /*useProfiles*/ false, /* extractOnly */ false); } } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 9d17f8fc1307..f05e45f0a6bb 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -6717,7 +6717,7 @@ public class PackageManagerService extends IPackageManager.Stub { synchronized (mInstallLock) { final String[] instructionSets = new String[] { targetInstructionSet }; int result = mPackageDexOptimizer.performDexOpt(p, instructionSets, - true /* inclDependencies */, p.volumeUuid, useProfiles, extractOnly); + true /* inclDependencies */, useProfiles, extractOnly); return result == PackageDexOptimizer.DEX_OPT_PERFORMED; } } finally { @@ -6762,7 +6762,7 @@ public class PackageManagerService extends IPackageManager.Stub { // Whoever is calling forceDexOpt wants a fully compiled package. // Don't use profiles since that may cause compilation to be skipped. final int res = mPackageDexOptimizer.performDexOpt(pkg, instructionSets, - true /* inclDependencies */, pkg.volumeUuid, false /* useProfiles */, + true /* inclDependencies */, false /* useProfiles */, false /* extractOnly */); Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); @@ -13024,7 +13024,7 @@ public class PackageManagerService extends IPackageManager.Stub { // Do not run PackageDexOptimizer through the local performDexOpt // method because `pkg` is not in `mPackages` yet. int result = mPackageDexOptimizer.performDexOpt(pkg, null /* instructionSets */, - false /* inclDependencies */, volumeUuid, false /* useProfiles */, + false /* inclDependencies */, false /* useProfiles */, true /* extractOnly */); Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); if (result == PackageDexOptimizer.DEX_OPT_FAILED) { -- 2.11.0