diff --git a/src/com/android/launcher3/icons/IconCache.java b/src/com/android/launcher3/icons/IconCache.java index 8e73660ae0..41e3ef026b 100644 --- a/src/com/android/launcher3/icons/IconCache.java +++ b/src/com/android/launcher3/icons/IconCache.java @@ -469,17 +469,22 @@ public class IconCache extends BaseIconCache { duplicateIconRequestsMap.get(cn); if (cn != null) { - CacheEntry entry = cacheLocked( - cn, - /* user = */ sectionKey.first, - () -> duplicateIconRequests.get(0).launcherActivityInfo, - mLauncherActivityInfoCachingLogic, - c, - /* usePackageIcon= */ false, - /* useLowResIcons = */ sectionKey.second); + if (duplicateIconRequests != null) { + CacheEntry entry = cacheLocked( + cn, + /* user = */ sectionKey.first, + () -> duplicateIconRequests.get(0).launcherActivityInfo, + mLauncherActivityInfoCachingLogic, + c, + /* usePackageIcon= */ false, + /* useLowResIcons = */ sectionKey.second); - for (IconRequestInfo iconRequest : duplicateIconRequests) { - applyCacheEntry(entry, iconRequest.itemInfo); + for (IconRequestInfo iconRequest : duplicateIconRequests) { + applyCacheEntry(entry, iconRequest.itemInfo); + } + } else { + Log.e(TAG, "Found entry in icon database but no main activity " + + "entry for cn: " + cn); } } }