am c17f92ce: Merge "Use removePackageLI instead of removing mPackages" into jb-dev

* commit 'c17f92ce047e8d62fac829d1df5dae654f7e4de8':
  Use removePackageLI instead of removing mPackages
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 9a79f86..e20cd02 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -1087,7 +1087,8 @@
                     /*
                      * 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 @@
                          * 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 @@
                     }
                     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 b26e853..120b650 100644
--- a/services/java/com/android/server/pm/Settings.java
+++ b/services/java/com/android/server/pm/Settings.java
@@ -2459,6 +2459,7 @@
             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 @@
                     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=");