summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java14
1 files 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<Bubble> invalidBubblesFromPackage = bubble ->
- packageName.equals(bubble.getPackageName())
- && (bubble.getShortcutInfo() == null
- || !bubble.getShortcutInfo().isEnabled()
- || !validShortcutIds.contains(bubble.getShortcutInfo().getId()));
+ final Predicate<Bubble> 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<Bubble> removeBubble = bubble ->
dismissBubbleWithKey(bubble.getKey(), reason);