summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-03-11 00:19:26 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-11 00:19:27 +0000
commit8ccfe899a7b7edebf776584d0e32139cc990c8d5 (patch)
treec7272eade2055237826538dc2b8597226c61de97
parentbd5e03b6d996aa39a6f607a55ffd0691a55b1cee (diff)
parent2c1078fbbd550d8adb7ca0d39447bfebc6092012 (diff)
downloadframeworks_base-8ccfe899a7b7edebf776584d0e32139cc990c8d5.zip
frameworks_base-8ccfe899a7b7edebf776584d0e32139cc990c8d5.tar.gz
frameworks_base-8ccfe899a7b7edebf776584d0e32139cc990c8d5.tar.bz2
Merge "resolved conflicts for merge of b6d6c04a to master"
-rw-r--r--core/java/com/android/internal/os/InstallerConnection.java6
-rw-r--r--services/core/java/com/android/server/pm/Installer.java5
-rw-r--r--services/core/java/com/android/server/pm/PackageDexOptimizer.java5
3 files changed, 9 insertions, 7 deletions
diff --git a/core/java/com/android/internal/os/InstallerConnection.java b/core/java/com/android/internal/os/InstallerConnection.java
index 2f30ebc..433a54b 100644
--- a/core/java/com/android/internal/os/InstallerConnection.java
+++ b/core/java/com/android/internal/os/InstallerConnection.java
@@ -91,11 +91,11 @@ public class InstallerConnection {
}
public int dexopt(String apkPath, int uid, boolean isPublic, String instructionSet) {
- return dexopt(apkPath, uid, isPublic, "*", instructionSet, false);
+ return dexopt(apkPath, uid, isPublic, "*", instructionSet, false, false);
}
public int dexopt(String apkPath, int uid, boolean isPublic, String pkgName,
- String instructionSet, boolean vmSafeMode) {
+ String instructionSet, boolean vmSafeMode, boolean debuggable) {
StringBuilder builder = new StringBuilder("dexopt");
builder.append(' ');
builder.append(apkPath);
@@ -106,8 +106,8 @@ public class InstallerConnection {
builder.append(pkgName);
builder.append(' ');
builder.append(instructionSet);
- builder.append(' ');
builder.append(vmSafeMode ? " 1" : " 0");
+ builder.append(debuggable ? " 1" : " 0");
return execute(builder.toString());
}
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java
index 31c604f..5cde8ea 100644
--- a/services/core/java/com/android/server/pm/Installer.java
+++ b/services/core/java/com/android/server/pm/Installer.java
@@ -83,13 +83,14 @@ public final class Installer extends SystemService {
}
public int dexopt(String apkPath, int uid, boolean isPublic, String pkgName,
- String instructionSet, boolean vmSafeMode) {
+ String instructionSet, boolean vmSafeMode, boolean debuggable) {
if (!isValidInstructionSet(instructionSet)) {
Slog.e(TAG, "Invalid instruction set: " + instructionSet);
return -1;
}
- return mInstaller.dexopt(apkPath, uid, isPublic, pkgName, instructionSet, vmSafeMode);
+ return mInstaller.dexopt(apkPath, uid, isPublic, pkgName, instructionSet, vmSafeMode,
+ debuggable);
}
public int idmap(String targetApkPath, String overlayApkPath, int uid) {
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index 0a7c5cf..2dbce0a 100644
--- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -93,6 +93,7 @@ final class PackageDexOptimizer {
}
final boolean vmSafeMode = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0;
+ final boolean debuggable = (pkg.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
final List<String> paths = pkg.getAllCodePathsExcludingResourceOnly();
boolean performedDexOpt = false;
@@ -118,11 +119,11 @@ final class PackageDexOptimizer {
if (forceDex || (!defer && isDexOptNeeded == DexFile.DEXOPT_NEEDED)) {
Log.i(TAG, "Running dexopt on: " + path + " pkg="
+ pkg.applicationInfo.packageName + " isa=" + dexCodeInstructionSet
- + " vmSafeMode=" + vmSafeMode);
+ + " vmSafeMode=" + vmSafeMode + " debuggable=" + debuggable);
final int sharedGid = UserHandle.getSharedAppGid(pkg.applicationInfo.uid);
final int ret = mPackageManagerService.mInstaller.dexopt(path, sharedGid,
!pkg.isForwardLocked(), pkg.packageName, dexCodeInstructionSet,
- vmSafeMode);
+ vmSafeMode, debuggable);
if (ret < 0) {
// Don't bother running dexopt again if we failed, it will probably