summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/pm/PackageManagerService.java11
-rw-r--r--services/java/com/android/server/pm/Settings.java5
2 files changed, 14 insertions, 2 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 9a79f86c7177..e20cd02dc551 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -1087,7 +1087,8 @@ public class PackageManagerService extends IPackageManager.Stub {
/*
* If the package is scanned, it's not erased.
*/
- if (mPackages.containsKey(ps.name)) {
+ final PackageParser.Package scannedPkg = mPackages.get(ps.name);
+ if (scannedPkg != null) {
/*
* If the system app is both scanned and in the
* disabled packages list, then it must have been
@@ -1096,7 +1097,9 @@ public class PackageManagerService extends IPackageManager.Stub {
* application can be scanned.
*/
if (mSettings.isDisabledSystemPackageLPr(ps.name)) {
- mPackages.remove(ps.name);
+ Slog.i(TAG, "Expecting better updatd system app for " + ps.name
+ + "; removing system app");
+ removePackageLI(scannedPkg, true);
}
continue;
@@ -8626,6 +8629,10 @@ public class PackageManagerService extends IPackageManager.Stub {
}
pw.print(" ["); pw.print(entry.getKey()); pw.println("]:");
pw.print(" "); pw.println(p.toString());
+ if (p.info != null && p.info.applicationInfo != null) {
+ final String appInfo = p.info.applicationInfo.toString();
+ pw.print(" applicationInfo="); pw.println(appInfo);
+ }
}
}
diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java
index 91cd4587293e..d031686e3c06 100644
--- a/services/java/com/android/server/pm/Settings.java
+++ b/services/java/com/android/server/pm/Settings.java
@@ -2459,6 +2459,7 @@ final class Settings {
pw.print(" nativeLibraryPath="); pw.println(ps.nativeLibraryPathString);
pw.print(" versionCode="); pw.println(ps.versionCode);
if (ps.pkg != null) {
+ pw.print(" applicationInfo="); pw.println(ps.pkg.applicationInfo.toString());
pw.print(" flags="); printFlags(pw, ps.pkg.applicationInfo.flags, FLAG_DUMP_SPEC); pw.println();
pw.print(" versionName="); pw.println(ps.pkg.mVersionName);
pw.print(" dataDir="); pw.println(ps.pkg.applicationInfo.dataDir);
@@ -2592,6 +2593,10 @@ final class Settings {
pw.print(" compat name=");
pw.println(ps.name);
}
+ if (ps.pkg != null && ps.pkg.applicationInfo != null) {
+ pw.print(" applicationInfo=");
+ pw.println(ps.pkg.applicationInfo.toString());
+ }
pw.print(" userId=");
pw.println(ps.appId);
pw.print(" sharedUser=");