diff options
Diffstat (limited to 'src/com/android/launcher2/IconCache.java')
-rw-r--r-- | src/com/android/launcher2/IconCache.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/com/android/launcher2/IconCache.java b/src/com/android/launcher2/IconCache.java index 2e47adc9e..0c26bf05c 100644 --- a/src/com/android/launcher2/IconCache.java +++ b/src/com/android/launcher2/IconCache.java @@ -68,11 +68,13 @@ public class IconCache { com.android.internal.R.mipmap.sym_def_app_icon); } - public Drawable getFullResIcon(Resources resources, int iconId) { + public Drawable getFullResIcon(Resources resources, int iconId) + throws Resources.NotFoundException { return resources.getDrawableForDensity(iconId, mIconDpi); } - public Drawable getFullResIcon(ResolveInfo info, PackageManager packageManager) { + public Drawable getFullResIcon(ResolveInfo info, PackageManager packageManager) + throws Resources.NotFoundException { Resources resources; try { resources = packageManager.getResourcesForApplication( @@ -174,8 +176,14 @@ public class IconCache { if (entry.title == null) { entry.title = info.activityInfo.name; } - entry.icon = Utilities.createIconBitmap( - getFullResIcon(info, mPackageManager), mContext); + + Drawable icon; + try { + icon = getFullResIcon(info, mPackageManager); + } catch (Resources.NotFoundException e) { + icon = getFullResDefaultActivityIcon(); + } + entry.icon = Utilities.createIconBitmap(icon, mContext); } return entry; } |