diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java index 7020f1cb88eb9..acbde9fa3efa5 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);