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 5597e4825d)
This commit is contained in:
Schneider Victor-tulias
2022-02-18 15:12:27 -08:00
committed by Sunny Goyal
parent 66ac96cd63
commit 2763365eb6
+11 -1
View File
@@ -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<IconRequestInfo<T>> iconRequestInfos) {
Map<Pair<UserHandle, Boolean>, List<IconRequestInfo<T>>> 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)));