Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f04f9a68 authored by Ats Jenk's avatar Ats Jenk Committed by Android (Google) Code Review
Browse files

Merge "Log when bubble bar is expanded or collapsed" into main

parents 255746a3 55f7236c
Loading
Loading
Loading
Loading
+23 −7
Original line number Diff line number Diff line
@@ -1212,7 +1212,7 @@ public class BubbleController implements ConfigurationChangeListener,
     */
    public void startBubbleDrag(String bubbleKey) {
        if (mBubbleData.getSelectedBubble() != null) {
            mBubbleBarViewCallback.expansionChanged(/* isExpanded = */ false);
            collapseExpandedViewForBubbleBar();
        }
        if (mBubbleStateListener != null) {
            boolean overflow = BubbleOverflow.KEY.equals(bubbleKey);
@@ -1304,6 +1304,7 @@ public class BubbleController implements ConfigurationChangeListener,
        if (BubbleOverflow.KEY.equals(key)) {
            mBubbleData.setSelectedBubbleFromLauncher(mBubbleData.getOverflow());
            mLayerView.showExpandedView(mBubbleData.getOverflow());
            mLogger.log(BubbleLogger.Event.BUBBLE_BAR_EXPANDED);
            return;
        }

@@ -1315,6 +1316,7 @@ public class BubbleController implements ConfigurationChangeListener,
            // already in the stack
            mBubbleData.setSelectedBubbleFromLauncher(b);
            mLayerView.showExpandedView(b);
            mLogger.log(b, BubbleLogger.Event.BUBBLE_BAR_EXPANDED);
        } else if (mBubbleData.hasOverflowBubbleWithKey(b.getKey())) {
            // TODO: (b/271468319) handle overflow
        } else {
@@ -2024,12 +2026,16 @@ public class BubbleController implements ConfigurationChangeListener,
        public void expansionChanged(boolean isExpanded) {
            // in bubble bar mode, let the request to show the expanded view come from launcher.
            // only collapse here if we're collapsing.
            if (mLayerView != null && !isExpanded) {
                if (mBubblePositioner.isImeVisible()) {
                    // If we're collapsing, hide the IME
                    hideCurrentInputMethod();
            if (!isExpanded) {
                collapseExpandedViewForBubbleBar();
            }
                mLayerView.collapse();

            BubbleLogger.Event event = isExpanded ? BubbleLogger.Event.BUBBLE_BAR_EXPANDED
                    : BubbleLogger.Event.BUBBLE_BAR_COLLAPSED;
            if (mBubbleData.getSelectedBubble() instanceof Bubble bubble) {
                mLogger.log(bubble, event);
            } else {
                mLogger.log(event);
            }
        }

@@ -2182,6 +2188,16 @@ public class BubbleController implements ConfigurationChangeListener,
        }
    }

    private void collapseExpandedViewForBubbleBar() {
        if (mLayerView != null && mLayerView.isExpanded()) {
            if (mBubblePositioner.isImeVisible()) {
                // If we're collapsing, hide the IME
                hideCurrentInputMethod();
            }
            mLayerView.collapse();
        }
    }

    private void updateOverflowButtonDot() {
        BubbleOverflow overflow = mBubbleData.getOverflow();
        if (overflow == null) return;
+36 −0
Original line number Diff line number Diff line
@@ -2533,6 +2533,42 @@ public class BubblesTest extends SysuiTestCase {
        verify(mBubbleLogger).log(BubbleLogger.Event.BUBBLE_BAR_DISMISSED_DRAG_BAR);
    }

    @EnableFlags(FLAG_ENABLE_BUBBLE_BAR)
    @Test
    public void testEventLogging_bubbleBar_expandAndCollapse() {
        mBubbleProperties.mIsBubbleBarEnabled = true;
        mPositioner.setIsLargeScreen(true);
        FakeBubbleStateListener bubbleStateListener = new FakeBubbleStateListener();
        mBubbleController.registerBubbleStateListener(bubbleStateListener);

        mEntryListener.onEntryAdded(mRow);
        mBubbleController.expandStackAndSelectBubbleFromLauncher(mRow.getKey(), 0);

        verify(mBubbleLogger).log(eqBubbleWithKey(mRow.getKey()),
                eq(BubbleLogger.Event.BUBBLE_BAR_EXPANDED));

        mBubbleController.collapseStack();

        verify(mBubbleLogger).log(eqBubbleWithKey(mRow.getKey()),
                eq(BubbleLogger.Event.BUBBLE_BAR_COLLAPSED));
    }

    @EnableFlags(FLAG_ENABLE_BUBBLE_BAR)
    @Test
    public void testEventLogging_bubbleBar_autoExpandingBubble() {
        mBubbleProperties.mIsBubbleBarEnabled = true;
        mPositioner.setIsLargeScreen(true);
        FakeBubbleStateListener bubbleStateListener = new FakeBubbleStateListener();
        mBubbleController.registerBubbleStateListener(bubbleStateListener);

        setMetadataFlags(mRow,
                Notification.BubbleMetadata.FLAG_AUTO_EXPAND_BUBBLE, true /* enableFlag */);
        mEntryListener.onEntryAdded(mRow);

        verify(mBubbleLogger).log(eqBubbleWithKey(mRow.getKey()),
                eq(BubbleLogger.Event.BUBBLE_BAR_EXPANDED));
    }

    /** Creates a bubble using the userId and package. */
    private Bubble createBubble(int userId, String pkg) {
        final UserHandle userHandle = new UserHandle(userId);