summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornarayan <narayan@google.com>2014-05-21 20:49:09 +0000
committerThe Android Automerger <android-build@android.com>2014-05-21 16:45:48 -0700
commit34a3249b76ba9c7d82b0c1831b2ee850c2fa5110 (patch)
tree7d8b3a72843e3b6ae2582154ce0027741b0abb25
parent89ea3cd0494a91de72eb566f146da41e5c769cb3 (diff)
downloadframeworks_base-34a3249b76ba9c7d82b0c1831b2ee850c2fa5110.zip
frameworks_base-34a3249b76ba9c7d82b0c1831b2ee850c2fa5110.tar.gz
frameworks_base-34a3249b76ba9c7d82b0c1831b2ee850c2fa5110.tar.bz2
am 82ec8c58: am ab3d85ab: am 838b1e22: Merge "Fix NPE in PackageManagerService."
* commit '82ec8c58b1f1cd0cce56d11b7679440f6ba54f4a': Fix NPE in PackageManagerService.
-rwxr-xr-xservices/core/java/com/android/server/pm/PackageManagerService.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index dd5e9de..0fa0b14 100755
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -6039,21 +6039,23 @@ public class PackageManagerService extends IPackageManager.Stub {
}
for (PackageSetting ps : packagesForUser) {
- if (scannedPackage == null || ! scannedPackage.packageName.equals(ps.name)) {
+ if (scannedPackage == null || !scannedPackage.packageName.equals(ps.name)) {
if (ps.cpuAbiString != null) {
continue;
}
ps.cpuAbiString = adjustedAbi;
- ps.pkg.applicationInfo.cpuAbi = adjustedAbi;
- Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + adjustedAbi);
-
- if (performDexOptLI(ps.pkg, forceDexOpt, deferDexOpt, true) == DEX_OPT_FAILED) {
- ps.cpuAbiString = null;
- ps.pkg.applicationInfo.cpuAbi = null;
- return false;
- } else {
- mInstaller.rmdex(ps.codePathString, getPreferredInstructionSet());
+ if (ps.pkg != null && ps.pkg.applicationInfo != null) {
+ ps.pkg.applicationInfo.cpuAbi = adjustedAbi;
+ Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + adjustedAbi);
+
+ if (performDexOptLI(ps.pkg, forceDexOpt, deferDexOpt, true) == DEX_OPT_FAILED) {
+ ps.cpuAbiString = null;
+ ps.pkg.applicationInfo.cpuAbi = null;
+ return false;
+ } else {
+ mInstaller.rmdex(ps.codePathString, getPreferredInstructionSet());
+ }
}
}
}