Use the appropriate default icon

ComponentInfo subclasses and ApplicationInfo have different ways to retrieving
the default icon. Previously, in CL I2db300a69a08030eacc245ee91556f0443ba5878
we defaulted everything to the green Android. This makes sure that they get the
right default.

Bug: 16630068
Change-Id: Ifa499eac6f1543523d6ecf0831175bfd6b772edb
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index f18507e..18ba8c4 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -1624,7 +1624,7 @@
         }
         Drawable dr = getDrawable(itemInfo.packageName, itemInfo.icon, appInfo);
         if (dr == null) {
-            dr = getDefaultActivityIcon();
+            dr = itemInfo.loadDefaultIcon(this);
         }
         return getUserManager().getBadgedDrawableForUser(dr,
                 new UserHandle(mContext.getUserId()));
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index 482ad6e..548a0c9 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -839,7 +839,8 @@
     /**
      * @hide
      */
-    @Override protected Drawable loadDefaultIcon(PackageManager pm) {
+    @Override
+    public Drawable loadDefaultIcon(PackageManager pm) {
         if ((flags & FLAG_EXTERNAL_STORAGE) != 0
                 && isPackageUnavailable(pm)) {
             return Resources.getSystem().getDrawable(
diff --git a/core/java/android/content/pm/ComponentInfo.java b/core/java/android/content/pm/ComponentInfo.java
index 7e8f285..cc06b67 100644
--- a/core/java/android/content/pm/ComponentInfo.java
+++ b/core/java/android/content/pm/ComponentInfo.java
@@ -179,7 +179,8 @@
     /**
      * @hide
      */
-    @Override protected Drawable loadDefaultIcon(PackageManager pm) {
+    @Override
+    public Drawable loadDefaultIcon(PackageManager pm) {
         return applicationInfo.loadIcon(pm);
     }
     
diff --git a/core/java/android/content/pm/PackageItemInfo.java b/core/java/android/content/pm/PackageItemInfo.java
index 4b5bdda..cacdf8e 100644
--- a/core/java/android/content/pm/PackageItemInfo.java
+++ b/core/java/android/content/pm/PackageItemInfo.java
@@ -187,7 +187,7 @@
      * 
      * @hide
      */
-    protected Drawable loadDefaultIcon(PackageManager pm) {
+    public Drawable loadDefaultIcon(PackageManager pm) {
         return pm.getDefaultActivityIcon();
     }