From 074f83205d6022c1f6593921575108e5c8d3de24 Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Thu, 25 Mar 2021 16:51:54 +0000 Subject: [PATCH] Filter out potential null widget item from recommended widgets There is a likely a race condition which the recommended widgets contain widget that have not been added to mAllWidgets. Instead of introducing a lock mechanism, let's simply filter null widgets. Test: manual Bug: 183619699 Change-Id: Ia82778b8ac8c42265bdf6838e059f81022a0d4ef --- src/com/android/launcher3/popup/PopupDataProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/com/android/launcher3/popup/PopupDataProvider.java b/src/com/android/launcher3/popup/PopupDataProvider.java index 778089485a..6f9f0d7867 100644 --- a/src/com/android/launcher3/popup/PopupDataProvider.java +++ b/src/com/android/launcher3/popup/PopupDataProvider.java @@ -40,6 +40,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -224,6 +225,7 @@ public class PopupDataProvider implements NotificationListener.NotificationsChan .map(recommendedWidget -> allWidgetItems.get( new ComponentKey(recommendedWidget.getTargetComponent(), recommendedWidget.user))) + .filter(Objects::nonNull) .collect(Collectors.toList()); }