diff options
| author | 2021-12-13 08:49:18 -0800 | |
|---|---|---|
| committer | 2021-12-13 09:07:11 -0800 | |
| commit | 97aa9b0ec1f84878d11a5d7128876dba0bbc3d18 (patch) | |
| tree | 73a6246618e86f57d8c951202f6c07a6b3c511d9 | |
| parent | ac5575654b0f0826418b754063b1e06e079c1ee2 (diff) | |
Do not show overflow after the last bubble dismissed (revised)
Bug: 202742002
Test: atest SystemUITests
Test: screen recording before https://drive.google.com/file/d/1KOHZnsW4BAn73slH54Rp1ZK0RXxumrw5/view?usp=sharing
Test: screen recoring after https://drive.google.com/file/d/1tC6iIP2fG84pHcwoyJsySDUm9ciSzjRI/view?usp=sharing
Change-Id: Ib5e36e5abb9f4e6adb441f38f1d66dbf7f73a1f0
4 files changed, 19 insertions, 27 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java index 519a856538c7..34ecc5c2e280 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java @@ -561,17 +561,10 @@ public class BubbleData { 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 - // if we're already expanded or always showing. - setShowingOverflow(true); - setSelectedBubbleInternal(mOverflow); - } else { - setExpandedInternal(false); - // Don't use setSelectedBubbleInternal because we don't want to trigger an - // applyUpdate - mSelectedBubble = null; - } + setExpandedInternal(false); + // Don't use setSelectedBubbleInternal because we don't want to trigger an + // applyUpdate + mSelectedBubble = null; } if (indexToRemove < mBubbles.size() - 1) { // Removing anything but the last bubble means positions will change. diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java index bc701d0c70bc..a546c4163d34 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java @@ -793,7 +793,7 @@ public class BubbleDataTest extends ShellTestCase { } @Test - public void test_expanded_removeLastBubble_showsOverflowIfNotEmpty() { + public void test_expanded_removeLastBubble_collapsesIfOverflowNotEmpty() { // Setup sendUpdatedEntryAtTime(mEntryA1, 1000); changeExpandedStateAtTime(true, 2000); @@ -803,7 +803,7 @@ public class BubbleDataTest extends ShellTestCase { mBubbleData.dismissBubbleWithKey(mEntryA1.getKey(), Bubbles.DISMISS_USER_GESTURE); verifyUpdateReceived(); assertThat(mBubbleData.getOverflowBubbles().size()).isGreaterThan(0); - assertSelectionChangedTo(mBubbleData.getOverflow()); + assertExpandedChangedTo(false); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java index 71ae5eb028a7..c7943c3ed121 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java @@ -116,7 +116,6 @@ import com.android.wm.shell.bubbles.BubbleDataRepository; import com.android.wm.shell.bubbles.BubbleEntry; import com.android.wm.shell.bubbles.BubbleIconFactory; import com.android.wm.shell.bubbles.BubbleLogger; -import com.android.wm.shell.bubbles.BubbleOverflow; import com.android.wm.shell.bubbles.BubbleStackView; import com.android.wm.shell.bubbles.BubbleViewInfoTask; import com.android.wm.shell.bubbles.Bubbles; @@ -631,7 +630,7 @@ public class BubblesTest extends SysuiTestCase { } @Test - public void testRemoveLastExpanded_selectsOverflow() { + public void testRemoveLastExpanded_collapses() { // Mark it as a bubble and add it explicitly mEntryListener.onPendingEntryAdded(mRow); mEntryListener.onPendingEntryAdded(mRow2); @@ -670,11 +669,10 @@ public class BubblesTest extends SysuiTestCase { stackView.getExpandedBubble().getKey()).getKey(), Bubbles.DISMISS_USER_GESTURE); - // Overflow should be selected - assertEquals(mBubbleData.getSelectedBubble().getKey(), BubbleOverflow.KEY); - verify(mBubbleExpandListener).onBubbleExpandChanged(true, BubbleOverflow.KEY); - assertTrue(mBubbleController.hasBubbles()); - assertSysuiStates(true /* stackExpanded */, false /* mangeMenuExpanded */); + // We should be collapsed + verify(mBubbleExpandListener).onBubbleExpandChanged(false, mRow.getKey()); + assertFalse(mBubbleController.hasBubbles()); + assertSysuiStates(false /* stackExpanded */, false /* mangeMenuExpanded */); } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java b/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java index 7b9e6a9efb3b..65c219c1be16 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/NewNotifPipelineBubblesTest.java @@ -19,8 +19,11 @@ package com.android.systemui.wmshell; import static android.app.Notification.FLAG_BUBBLE; import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL; import static android.service.notification.NotificationListenerService.REASON_GROUP_SUMMARY_CANCELED; + import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; + import static com.google.common.truth.Truth.assertThat; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -97,7 +100,6 @@ import com.android.wm.shell.bubbles.BubbleData; import com.android.wm.shell.bubbles.BubbleDataRepository; import com.android.wm.shell.bubbles.BubbleEntry; import com.android.wm.shell.bubbles.BubbleLogger; -import com.android.wm.shell.bubbles.BubbleOverflow; import com.android.wm.shell.bubbles.BubbleStackView; import com.android.wm.shell.bubbles.Bubbles; import com.android.wm.shell.common.DisplayController; @@ -572,7 +574,7 @@ public class NewNotifPipelineBubblesTest extends SysuiTestCase { } @Test - public void testRemoveLastExpanded_selectsOverflow() { + public void testRemoveLastExpanded_collapses() { // Mark it as a bubble and add it explicitly mEntryListener.onEntryAdded(mRow); mEntryListener.onEntryAdded(mRow2); @@ -611,11 +613,10 @@ public class NewNotifPipelineBubblesTest extends SysuiTestCase { stackView.getExpandedBubble().getKey()).getKey(), Bubbles.DISMISS_USER_GESTURE); - // Overflow should be selected - assertEquals(mBubbleData.getSelectedBubble().getKey(), BubbleOverflow.KEY); - verify(mBubbleExpandListener).onBubbleExpandChanged(true, BubbleOverflow.KEY); - assertTrue(mBubbleController.hasBubbles()); - assertSysuiStates(true /* stackExpanded */, false /* mangeMenuExpanded */); + // We should be collapsed + verify(mBubbleExpandListener).onBubbleExpandChanged(false, mRow.getKey()); + assertFalse(mBubbleController.hasBubbles()); + assertSysuiStates(false /* stackExpanded */, false /* mangeMenuExpanded */); } @Test |