From 2763365eb67a9dbcec5ab6ace3c5bb2947615424 Mon Sep 17 00:00:00 2001 From: Schneider Victor-tulias Date: Fri, 18 Feb 2022 15:12:27 -0800 Subject: [PATCH] Fix icon loading null pointer. Filtering out icon itemInfos with null component names when loading icons in bulk Test: manual Fixes: 220380324 Fixes: 220345439 Change-Id: I0e6f9ae0a363d17497207c92eadcac64ca42693f (cherry picked from commit 5597e4825dc357a122d29672c4682da2e3ce8aca) --- src/com/android/launcher3/icons/IconCache.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/icons/IconCache.java b/src/com/android/launcher3/icons/IconCache.java index 3129e2af41..308a8f2e5d 100644 --- a/src/com/android/launcher3/icons/IconCache.java +++ b/src/com/android/launcher3/icons/IconCache.java @@ -41,9 +41,9 @@ import android.os.Trace; import android.os.UserHandle; import android.text.TextUtils; import android.util.Log; -import android.util.Pair; import androidx.annotation.NonNull; +import androidx.core.util.Pair; import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.LauncherFiles; @@ -339,6 +339,16 @@ public class IconCache extends BaseIconCache { List> iconRequestInfos) { Map, List>> iconLoadSubsectionsMap = iconRequestInfos.stream() + .filter(iconRequest -> { + if (iconRequest.itemInfo.getTargetComponent() != null) { + return true; + } + Log.i(TAG, + "Skipping Item info with null component name: " + + iconRequest.itemInfo); + iconRequest.itemInfo.bitmap = getDefaultIcon(iconRequest.itemInfo.user); + return false; + }) .collect(groupingBy(iconRequest -> Pair.create(iconRequest.itemInfo.user, iconRequest.useLowResIcon)));