Fix missing notifs after swipe
Sometimes, when you swipe away a notification in the shade and
that notification has a bubble, the shade does not update to fill
the blank space.
How this happened:
- ShadeListBuilder depends on BubbleCoordinator's NotifFilter to
tell it which notifications to filter out
- BubbleCoordinator checks BubbleController's CachedState to see
which notifications to suppress
- BubbleController's
CachedState #updateBubbleSuppressedState (and
#onBubbleMetadataFlagChanged upstream) did not run because
- In Bubble #setSuppressNotification
mBubbleMetadataFlagListener is null, since it was never set
by the Bubble constructor when loading bubbles from disk
(unlike the Bubble constructor used for new bubbles)
This change
- sets BubbleMetadataFlagListener on bubbles loaded
from disk so that their CachedStates update after their
notifications are swiped away from the shade.
- removes @Nullable annotation from BubbleMetadataFlagListener
param and var declarations
- adds dumpsys log so we can check it doesn't happen again.
Fixes: 237897866
Test: have some BubbleChat bubbles, reboot phone
=> send messages from same chats to bring back same bubbles
=> swipe away shade notifications for these chats
=> see that notifs below move up to fill blank space
Change-Id: Id61814fdc5fee87197f5ca48ae0bc469b713fab5
4 files changed