From a5d19f6b0790937fc8df0f4a4fe16f801eaba2ac Mon Sep 17 00:00:00 2001 From: Josh Tsuji Date: Tue, 23 Jun 2020 18:44:14 -0400 Subject: Only remove bubbles with null shortcutinfo if they have a shortcut ID. Test: manual Bug: 159719877 Change-Id: Ia46240884b0c8824e03fbcc5c24e0aa8dbb94301 --- .../src/com/android/systemui/bubbles/BubbleData.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java index 7020f1cb88eb..acbde9fa3efa 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java @@ -366,11 +366,15 @@ public class BubbleData { validShortcutIds.add(info.getId()); } - final Predicate invalidBubblesFromPackage = bubble -> - packageName.equals(bubble.getPackageName()) - && (bubble.getShortcutInfo() == null - || !bubble.getShortcutInfo().isEnabled() - || !validShortcutIds.contains(bubble.getShortcutInfo().getId())); + final Predicate invalidBubblesFromPackage = bubble -> { + final boolean bubbleIsFromPackage = packageName.equals(bubble.getPackageName()); + final boolean hasShortcutIdAndValidShortcut = + bubble.hasMetadataShortcutId() + && bubble.getShortcutInfo() != null + && bubble.getShortcutInfo().isEnabled() + && validShortcutIds.contains(bubble.getShortcutInfo().getId()); + return bubbleIsFromPackage && !hasShortcutIdAndValidShortcut; + }; final Consumer removeBubble = bubble -> dismissBubbleWithKey(bubble.getKey(), reason); -- cgit v1.2.3-59-g8ed1b