diff options
author | Dave Allison <dallison@google.com> | 2014-03-08 02:00:39 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-03-08 02:00:39 +0000 |
commit | 199670c46a9950bd2e06af43ea082427b542060a (patch) | |
tree | 635bb233b6112771b3a78d2f595e3bc1b5b52182 /services | |
parent | a81ee86b5881191d4c6685f9c261d612495a96c3 (diff) | |
parent | 324aa693b82656809b97e307676adbbce37c3d95 (diff) | |
download | frameworks_base-199670c46a9950bd2e06af43ea082427b542060a.zip frameworks_base-199670c46a9950bd2e06af43ea082427b542060a.tar.gz frameworks_base-199670c46a9950bd2e06af43ea082427b542060a.tar.bz2 |
am 324aa693: am b94904ab: am 3fc3b9fd: Merge "ART profiler usage."
* commit '324aa693b82656809b97e307676adbbce37c3d95':
ART profiler usage.
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/pm/Installer.java | 13 | ||||
-rwxr-xr-x | services/core/java/com/android/server/pm/PackageManagerService.java | 10 |
2 files changed, 19 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java index ad6eabd..b7e367b 100644 --- a/services/core/java/com/android/server/pm/Installer.java +++ b/services/core/java/com/android/server/pm/Installer.java @@ -218,6 +218,19 @@ public final class Installer extends SystemService { builder.append(' '); builder.append(uid); builder.append(isPublic ? " 1" : " 0"); + builder.append(" *"); // No pkgName arg present + return execute(builder.toString()); + } + + public int dexopt(String apkPath, int uid, boolean isPublic, String pkgName) { + StringBuilder builder = new StringBuilder("dexopt"); + builder.append(' '); + builder.append(apkPath); + builder.append(' '); + builder.append(uid); + builder.append(isPublic ? " 1" : " 0"); + builder.append(' '); + builder.append(pkgName); return execute(builder.toString()); } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index cf02d5d..3f179e0 100755 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -1216,7 +1216,7 @@ public class PackageManagerService extends IPackageManager.Stub { continue; } try { - if (dalvik.system.DexFile.isDexOptNeeded(lib)) { + if (dalvik.system.DexFile.isDexOptNeededInternal(lib, null, false)) { alreadyDexOpted.add(lib); mInstaller.dexopt(lib, Process.SYSTEM_UID, true); didDexOpt = true; @@ -1260,7 +1260,7 @@ public class PackageManagerService extends IPackageManager.Stub { continue; } try { - if (dalvik.system.DexFile.isDexOptNeeded(path)) { + if (dalvik.system.DexFile.isDexOptNeededInternal(path, null, false)) { mInstaller.dexopt(path, Process.SYSTEM_UID, true); didDexOpt = true; } @@ -4021,7 +4021,8 @@ public class PackageManagerService extends IPackageManager.Stub { String path = pkg.mScanPath; int ret = 0; try { - if (forceDex || dalvik.system.DexFile.isDexOptNeeded(path)) { + if (forceDex || dalvik.system.DexFile.isDexOptNeededInternal(path, pkg.packageName, + defer)) { if (!forceDex && defer) { if (mDeferredDexOpt == null) { mDeferredDexOpt = new HashSet<PackageParser.Package>(); @@ -4031,7 +4032,8 @@ public class PackageManagerService extends IPackageManager.Stub { } else { Log.i(TAG, "Running dexopt on: " + pkg.applicationInfo.packageName); final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid); - ret = mInstaller.dexopt(path, sharedGid, !isForwardLocked(pkg)); + ret = mInstaller.dexopt(path, sharedGid, !isForwardLocked(pkg), + pkg.packageName); pkg.mDidDexOpt = true; performed = true; } |