Merge "Move overflow bubble to stack on update" into rvc-dev am: 14cbd79ec8

Change-Id: I48ca0753306e2898f38a26deda86b18e28d31169
This commit is contained in:
Automerger Merge Worker
2020-03-14 03:28:24 +00:00
2 changed files with 22 additions and 4 deletions

View File

@@ -226,6 +226,14 @@ public class BubbleData {
Bubble getOrCreateBubble(NotificationEntry entry) { Bubble getOrCreateBubble(NotificationEntry entry) {
Bubble bubble = getBubbleWithKey(entry.getKey()); Bubble bubble = getBubbleWithKey(entry.getKey());
if (bubble == null) { if (bubble == null) {
for (int i = 0; i < mOverflowBubbles.size(); i++) {
Bubble b = mOverflowBubbles.get(i);
if (b.getKey().equals(entry.getKey())) {
mOverflowBubbles.remove(b);
mPendingBubbles.add(b);
return b;
}
}
// Check for it in pending // Check for it in pending
for (int i = 0; i < mPendingBubbles.size(); i++) { for (int i = 0; i < mPendingBubbles.size(); i++) {
Bubble b = mPendingBubbles.get(i); Bubble b = mPendingBubbles.get(i);

View File

@@ -268,13 +268,18 @@ public class BubbleDataTest extends SysuiTestCase {
sendUpdatedEntryAtTime(mEntryB2, 5000); sendUpdatedEntryAtTime(mEntryB2, 5000);
mBubbleData.setListener(mListener); mBubbleData.setListener(mListener);
// Test
sendUpdatedEntryAtTime(mEntryC1, 6000); sendUpdatedEntryAtTime(mEntryC1, 6000);
verifyUpdateReceived(); verifyUpdateReceived();
// Verify
assertBubbleRemoved(mBubbleA1, BubbleController.DISMISS_AGED); assertBubbleRemoved(mBubbleA1, BubbleController.DISMISS_AGED);
assertThat(mBubbleData.getOverflowBubbles()).isEqualTo(ImmutableList.of(mBubbleA1)); assertOverflowChangedTo(ImmutableList.of(mBubbleA1));
Bubble bubbleA1 = mBubbleData.getOrCreateBubble(mEntryA1);
bubbleA1.markUpdatedAt(7000L);
mBubbleData.notificationEntryUpdated(bubbleA1, false /* suppressFlyout*/,
true /* showInShade */);
verifyUpdateReceived();
assertBubbleRemoved(mBubbleA2, BubbleController.DISMISS_AGED);
assertOverflowChangedTo(ImmutableList.of(mBubbleA2));
} }
/** /**
@@ -931,6 +936,11 @@ public class BubbleDataTest extends SysuiTestCase {
assertThat(update.expanded).named("expanded").isEqualTo(expected); assertThat(update.expanded).named("expanded").isEqualTo(expected);
} }
private void assertOverflowChangedTo(ImmutableList<Bubble> bubbles) {
BubbleData.Update update = mUpdateCaptor.getValue();
assertThat(update.overflowBubbles).isEqualTo(bubbles);
}
private NotificationEntry createBubbleEntry(int userId, String notifKey, String packageName) { private NotificationEntry createBubbleEntry(int userId, String notifKey, String packageName) {
return createBubbleEntry(userId, notifKey, packageName, 1000); return createBubbleEntry(userId, notifKey, packageName, 1000);