Merge "work around bug in LauncherAppsCompat to find restored icons" into ub-now-nova
diff --git a/src/com/android/launcher3/IconCache.java b/src/com/android/launcher3/IconCache.java
index 05be214..4d953ff 100644
--- a/src/com/android/launcher3/IconCache.java
+++ b/src/com/android/launcher3/IconCache.java
@@ -249,11 +249,20 @@
 
     public Bitmap getIcon(Intent intent, String title, UserHandleCompat user) {
         synchronized (mCache) {
-            final LauncherActivityInfoCompat launcherActInfo =
+            LauncherActivityInfoCompat launcherActInfo =
                     mLauncherApps.resolveActivity(intent, user);
             ComponentName component = intent.getComponent();
 
-            if (launcherActInfo == null || component == null) {
+            try {
+                launcherActInfo.getComponentName();
+            } catch (NullPointerException e) {
+                // launcherActInfo is invalid: b/14891460
+                launcherActInfo = null;
+            }
+
+            // null info means not installed, but if we have a component from the intent then
+            // we should still look in the cache for restored app icons.
+            if (launcherActInfo == null && component == null) {
                 return getDefaultIcon(user);
             }