From 8ec095245a55c4226970105a3abd5334da8acc1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Brzezi=C5=84ski?= Date: Thu, 9 Dec 2021 11:51:14 +0000 Subject: [PATCH] Revert "Do not show overflow after the last bubble dismissed (in master)." This reverts commit bf4301f59b4b5a4d1540084462aa005e3edb0000. Reason for revert: Breaking test b/209904625 Change-Id: Iabd5c188844d6f640fefe8f4f6b0eec8f31c4aff --- .../com/android/wm/shell/bubbles/BubbleData.java | 15 +++++++++++---- .../android/wm/shell/bubbles/BubbleDataTest.java | 4 ++-- 2 files changed, 13 insertions(+), 6 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 34ecc5c2e2807..519a856538c7c 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,10 +561,17 @@ public class BubbleData { overflowBubble(reason, bubbleToRemove); if (mBubbles.size() == 1) { - setExpandedInternal(false); - // Don't use setSelectedBubbleInternal because we don't want to trigger an - // applyUpdate - mSelectedBubble = null; + 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; + } } 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 a546c4163d34c..bc701d0c70bcf 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_collapsesIfOverflowNotEmpty() { + public void test_expanded_removeLastBubble_showsOverflowIfNotEmpty() { // 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); - assertExpandedChangedTo(false); + assertSelectionChangedTo(mBubbleData.getOverflow()); } @Test