diff options
| author | 2020-06-23 18:44:14 -0400 | |
|---|---|---|
| committer | 2020-06-24 09:22:29 -0400 | |
| commit | a5d19f6b0790937fc8df0f4a4fe16f801eaba2ac (patch) | |
| tree | 8bb48e782b9247a689cc84da080ce5a9b78099d9 | |
| parent | f9836b0186cc14d65069f165ef777ea66c1c477f (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.java | 14 |
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); |