Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +2 −2 Original line number Diff line number Diff line Loading @@ -1608,7 +1608,7 @@ public class BubbleController implements ConfigurationChangeListener, mBubblePositioner.updateBubbleBarTopOnScreen(bubbleBarTopToScreenBottom); if (BubbleOverflow.KEY.equals(key)) { mBubbleData.setSelectedBubbleFromLauncher(mBubbleData.getOverflow()); mBubbleData.expandAndSelectBubbleFromLauncher(mBubbleData.getOverflow()); mLayerView.showExpandedView(mBubbleData.getOverflow()); mLogger.log(BubbleLogger.Event.BUBBLE_BAR_OVERFLOW_SELECTED); return; Loading @@ -1622,7 +1622,7 @@ public class BubbleController implements ConfigurationChangeListener, final boolean wasExpanded = (mLayerView != null && mLayerView.isExpanded()); if (mBubbleData.hasBubbleInStackWithKey(b.getKey())) { // already in the stack mBubbleData.setSelectedBubbleFromLauncher(b); mBubbleData.expandAndSelectBubbleFromLauncher(b); mLayerView.showExpandedView(b); if (wasExpanded) { mLogger.log(b, BubbleLogger.Event.BUBBLE_BAR_BUBBLE_SWITCHED); Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java +1 −4 Original line number Diff line number Diff line Loading @@ -383,13 +383,10 @@ public class BubbleData { * will already be updated so we don't need to notify them again, but BubbleData should be * updated to have the correct state. */ public void setSelectedBubbleFromLauncher(BubbleViewProvider bubble) { public void expandAndSelectBubbleFromLauncher(BubbleViewProvider bubble) { ProtoLog.d(WM_SHELL_BUBBLES, "setSelectedBubbleFromLauncher=%s", (bubble != null ? bubble.getKey() : "null")); mExpanded = true; if (Objects.equals(bubble, mSelectedBubble)) { return; } boolean isOverflow = bubble != null && BubbleOverflow.KEY.equals(bubble.getKey()); if (bubble != null && !mBubbles.contains(bubble) Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java +28 −0 Original line number Diff line number Diff line Loading @@ -1403,12 +1403,14 @@ public class BubbleDataTest extends ShellTestCase { sendUpdatedEntryAtTime(mEntryA1, 1000); sendUpdatedEntryAtTime(mEntryA2, 2000); mBubbleData.setListener(mListener); assertThat(mBubbleA1.showInShade()).isTrue(); mBubbleData.setSelectedBubbleAndExpandStack(mBubbleA1); verifyUpdateReceived(); assertSelectionChangedTo(mBubbleA1); assertExpandedChangedTo(true); assertThat(mBubbleA1.showInShade()).isFalse(); } @Test Loading @@ -1416,6 +1418,7 @@ public class BubbleDataTest extends ShellTestCase { sendUpdatedEntryAtTime(mEntryA1, 1000); sendUpdatedEntryAtTime(mEntryA2, 2000); mBubbleData.setListener(mListener); assertThat(mBubbleA1.showInShade()).isTrue(); mBubbleData.setSelectedBubbleAndExpandStack(mBubbleA1, BubbleBarLocation.LEFT); Loading @@ -1423,6 +1426,7 @@ public class BubbleDataTest extends ShellTestCase { assertSelectionChangedTo(mBubbleA1); assertExpandedChangedTo(true); assertLocationChangedTo(BubbleBarLocation.LEFT); assertThat(mBubbleA1.showInShade()).isFalse(); } @Test Loading Loading @@ -1470,6 +1474,30 @@ public class BubbleDataTest extends ShellTestCase { assertThat(mBubbleData.getOverflowBubbles()).isEmpty(); } @Test public void testExpandAndSelectBubbleFromLauncher_sameSelection() { sendUpdatedEntryAtTime(mEntryA1, 1000); assertThat(mBubbleA1.showInShade()).isTrue(); mBubbleData.expandAndSelectBubbleFromLauncher(mBubbleA1); assertThat(mBubbleA1.showInShade()).isFalse(); assertThat(mBubbleData.isExpanded()).isTrue(); } @Test public void testExpandAndSelectBubbleFromLauncher_newSelection() { sendUpdatedEntryAtTime(mEntryA1, 1000); sendUpdatedEntryAtTime(mEntryA2, 1000); assertThat(mBubbleA1.showInShade()).isTrue(); assertThat(mBubbleA2.showInShade()).isTrue(); assertThat(mBubbleData.getSelectedBubble()).isEqualTo(mBubbleA2); mBubbleData.expandAndSelectBubbleFromLauncher(mBubbleA1); assertThat(mBubbleA1.showInShade()).isFalse(); assertThat(mBubbleA2.showInShade()).isTrue(); assertThat(mBubbleData.isExpanded()).isTrue(); } private void verifyUpdateReceived() { verify(mListener).applyUpdate(mUpdateCaptor.capture()); reset(mListener); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +2 −2 Original line number Diff line number Diff line Loading @@ -1608,7 +1608,7 @@ public class BubbleController implements ConfigurationChangeListener, mBubblePositioner.updateBubbleBarTopOnScreen(bubbleBarTopToScreenBottom); if (BubbleOverflow.KEY.equals(key)) { mBubbleData.setSelectedBubbleFromLauncher(mBubbleData.getOverflow()); mBubbleData.expandAndSelectBubbleFromLauncher(mBubbleData.getOverflow()); mLayerView.showExpandedView(mBubbleData.getOverflow()); mLogger.log(BubbleLogger.Event.BUBBLE_BAR_OVERFLOW_SELECTED); return; Loading @@ -1622,7 +1622,7 @@ public class BubbleController implements ConfigurationChangeListener, final boolean wasExpanded = (mLayerView != null && mLayerView.isExpanded()); if (mBubbleData.hasBubbleInStackWithKey(b.getKey())) { // already in the stack mBubbleData.setSelectedBubbleFromLauncher(b); mBubbleData.expandAndSelectBubbleFromLauncher(b); mLayerView.showExpandedView(b); if (wasExpanded) { mLogger.log(b, BubbleLogger.Event.BUBBLE_BAR_BUBBLE_SWITCHED); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleData.java +1 −4 Original line number Diff line number Diff line Loading @@ -383,13 +383,10 @@ public class BubbleData { * will already be updated so we don't need to notify them again, but BubbleData should be * updated to have the correct state. */ public void setSelectedBubbleFromLauncher(BubbleViewProvider bubble) { public void expandAndSelectBubbleFromLauncher(BubbleViewProvider bubble) { ProtoLog.d(WM_SHELL_BUBBLES, "setSelectedBubbleFromLauncher=%s", (bubble != null ? bubble.getKey() : "null")); mExpanded = true; if (Objects.equals(bubble, mSelectedBubble)) { return; } boolean isOverflow = bubble != null && BubbleOverflow.KEY.equals(bubble.getKey()); if (bubble != null && !mBubbles.contains(bubble) Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java +28 −0 Original line number Diff line number Diff line Loading @@ -1403,12 +1403,14 @@ public class BubbleDataTest extends ShellTestCase { sendUpdatedEntryAtTime(mEntryA1, 1000); sendUpdatedEntryAtTime(mEntryA2, 2000); mBubbleData.setListener(mListener); assertThat(mBubbleA1.showInShade()).isTrue(); mBubbleData.setSelectedBubbleAndExpandStack(mBubbleA1); verifyUpdateReceived(); assertSelectionChangedTo(mBubbleA1); assertExpandedChangedTo(true); assertThat(mBubbleA1.showInShade()).isFalse(); } @Test Loading @@ -1416,6 +1418,7 @@ public class BubbleDataTest extends ShellTestCase { sendUpdatedEntryAtTime(mEntryA1, 1000); sendUpdatedEntryAtTime(mEntryA2, 2000); mBubbleData.setListener(mListener); assertThat(mBubbleA1.showInShade()).isTrue(); mBubbleData.setSelectedBubbleAndExpandStack(mBubbleA1, BubbleBarLocation.LEFT); Loading @@ -1423,6 +1426,7 @@ public class BubbleDataTest extends ShellTestCase { assertSelectionChangedTo(mBubbleA1); assertExpandedChangedTo(true); assertLocationChangedTo(BubbleBarLocation.LEFT); assertThat(mBubbleA1.showInShade()).isFalse(); } @Test Loading Loading @@ -1470,6 +1474,30 @@ public class BubbleDataTest extends ShellTestCase { assertThat(mBubbleData.getOverflowBubbles()).isEmpty(); } @Test public void testExpandAndSelectBubbleFromLauncher_sameSelection() { sendUpdatedEntryAtTime(mEntryA1, 1000); assertThat(mBubbleA1.showInShade()).isTrue(); mBubbleData.expandAndSelectBubbleFromLauncher(mBubbleA1); assertThat(mBubbleA1.showInShade()).isFalse(); assertThat(mBubbleData.isExpanded()).isTrue(); } @Test public void testExpandAndSelectBubbleFromLauncher_newSelection() { sendUpdatedEntryAtTime(mEntryA1, 1000); sendUpdatedEntryAtTime(mEntryA2, 1000); assertThat(mBubbleA1.showInShade()).isTrue(); assertThat(mBubbleA2.showInShade()).isTrue(); assertThat(mBubbleData.getSelectedBubble()).isEqualTo(mBubbleA2); mBubbleData.expandAndSelectBubbleFromLauncher(mBubbleA1); assertThat(mBubbleA1.showInShade()).isFalse(); assertThat(mBubbleA2.showInShade()).isTrue(); assertThat(mBubbleData.isExpanded()).isTrue(); } private void verifyUpdateReceived() { verify(mListener).applyUpdate(mUpdateCaptor.capture()); reset(mListener); Loading