Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java +2 −2 Original line number Diff line number Diff line Loading @@ -558,6 +558,8 @@ public class BubbleData { } Bubble bubbleToRemove = mBubbles.get(indexToRemove); bubbleToRemove.stopInflation(); overflowBubble(reason, bubbleToRemove); if (mBubbles.size() == 1) { if (hasOverflowBubbles() && (mPositioner.showingInTaskbar() || isExpanded())) { // No more active bubbles but we have stuff in the overflow -- select that view Loading @@ -581,8 +583,6 @@ public class BubbleData { mStateChange.orderChanged |= repackAll(); } overflowBubble(reason, bubbleToRemove); // Note: If mBubbles.isEmpty(), then mSelectedBubble is now null. if (Objects.equals(mSelectedBubble, bubbleToRemove)) { // Move selection to the new bubble at the same position. Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java +16 −1 Original line number Diff line number Diff line Loading @@ -793,7 +793,7 @@ public class BubbleDataTest extends ShellTestCase { } @Test public void test_expanded_removeLastBubble_collapsesStack() { public void test_expanded_removeLastBubble_showsOverflowIfNotEmpty() { // Setup sendUpdatedEntryAtTime(mEntryA1, 1000); changeExpandedStateAtTime(true, 2000); Loading @@ -802,6 +802,21 @@ public class BubbleDataTest extends ShellTestCase { // Test mBubbleData.dismissBubbleWithKey(mEntryA1.getKey(), Bubbles.DISMISS_USER_GESTURE); verifyUpdateReceived(); assertThat(mBubbleData.getOverflowBubbles().size()).isGreaterThan(0); assertSelectionChangedTo(mBubbleData.getOverflow()); } @Test public void test_expanded_removeLastBubble_collapsesIfOverflowEmpty() { // Setup sendUpdatedEntryAtTime(mEntryA1, 1000); changeExpandedStateAtTime(true, 2000); mBubbleData.setListener(mListener); // Test mBubbleData.dismissBubbleWithKey(mEntryA1.getKey(), Bubbles.DISMISS_NO_BUBBLE_UP); verifyUpdateReceived(); assertThat(mBubbleData.getOverflowBubbles()).isEmpty(); assertExpandedChangedTo(false); } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java +2 −2 Original line number Diff line number Diff line Loading @@ -558,6 +558,8 @@ public class BubbleData { } Bubble bubbleToRemove = mBubbles.get(indexToRemove); bubbleToRemove.stopInflation(); overflowBubble(reason, bubbleToRemove); if (mBubbles.size() == 1) { if (hasOverflowBubbles() && (mPositioner.showingInTaskbar() || isExpanded())) { // No more active bubbles but we have stuff in the overflow -- select that view Loading @@ -581,8 +583,6 @@ public class BubbleData { mStateChange.orderChanged |= repackAll(); } overflowBubble(reason, bubbleToRemove); // Note: If mBubbles.isEmpty(), then mSelectedBubble is now null. if (Objects.equals(mSelectedBubble, bubbleToRemove)) { // Move selection to the new bubble at the same position. Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java +16 −1 Original line number Diff line number Diff line Loading @@ -793,7 +793,7 @@ public class BubbleDataTest extends ShellTestCase { } @Test public void test_expanded_removeLastBubble_collapsesStack() { public void test_expanded_removeLastBubble_showsOverflowIfNotEmpty() { // Setup sendUpdatedEntryAtTime(mEntryA1, 1000); changeExpandedStateAtTime(true, 2000); Loading @@ -802,6 +802,21 @@ public class BubbleDataTest extends ShellTestCase { // Test mBubbleData.dismissBubbleWithKey(mEntryA1.getKey(), Bubbles.DISMISS_USER_GESTURE); verifyUpdateReceived(); assertThat(mBubbleData.getOverflowBubbles().size()).isGreaterThan(0); assertSelectionChangedTo(mBubbleData.getOverflow()); } @Test public void test_expanded_removeLastBubble_collapsesIfOverflowEmpty() { // Setup sendUpdatedEntryAtTime(mEntryA1, 1000); changeExpandedStateAtTime(true, 2000); mBubbleData.setListener(mListener); // Test mBubbleData.dismissBubbleWithKey(mEntryA1.getKey(), Bubbles.DISMISS_NO_BUBBLE_UP); verifyUpdateReceived(); assertThat(mBubbleData.getOverflowBubbles()).isEmpty(); assertExpandedChangedTo(false); } Loading