Merge "Move overflow bubble to stack on update" into rvc-dev am: 14cbd79ec8 am: d73a6eca08 am: 41eed06ba6
Change-Id: I453d0514ee0fb86fea83e02e7a01400d52112188
This commit is contained in:
@@ -226,6 +226,14 @@ public class BubbleData {
|
||||
Bubble getOrCreateBubble(NotificationEntry entry) {
|
||||
Bubble bubble = getBubbleWithKey(entry.getKey());
|
||||
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
|
||||
for (int i = 0; i < mPendingBubbles.size(); i++) {
|
||||
Bubble b = mPendingBubbles.get(i);
|
||||
|
||||
@@ -268,13 +268,18 @@ public class BubbleDataTest extends SysuiTestCase {
|
||||
sendUpdatedEntryAtTime(mEntryB2, 5000);
|
||||
mBubbleData.setListener(mListener);
|
||||
|
||||
// Test
|
||||
sendUpdatedEntryAtTime(mEntryC1, 6000);
|
||||
verifyUpdateReceived();
|
||||
|
||||
// Verify
|
||||
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);
|
||||
}
|
||||
|
||||
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) {
|
||||
return createBubbleEntry(userId, notifKey, packageName, 1000);
|
||||
|
||||
Reference in New Issue
Block a user