summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/launcher3/IconCache.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/com/android/launcher3/IconCache.java b/src/com/android/launcher3/IconCache.java
index 05be2141e..4d953ff10 100644
--- a/src/com/android/launcher3/IconCache.java
+++ b/src/com/android/launcher3/IconCache.java
@@ -249,11 +249,20 @@ public class IconCache {
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);
}