summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Josh Tsuji <tsuji@google.com> 2020-06-23 18:44:14 -0400
committer Joshua Tsuji <tsuji@google.com> 2020-06-24 09:22:29 -0400
commita5d19f6b0790937fc8df0f4a4fe16f801eaba2ac (patch)
tree8bb48e782b9247a689cc84da080ce5a9b78099d9
parentf9836b0186cc14d65069f165ef777ea66c1c477f (diff)
Only remove bubbles with null shortcutinfo if they have a shortcut ID.
Test: manual Bug: 159719877 Change-Id: Ia46240884b0c8824e03fbcc5c24e0aa8dbb94301
-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);