diff options
| author | 2024-11-14 09:08:42 -0800 | |
|---|---|---|
| committer | 2024-11-15 14:46:40 -0800 | |
| commit | 330bb37ff5fed0804f047751796bf9a190ea6bcf (patch) | |
| tree | 38c08261b1654731d8c06e48c557aad6e94933e8 /libs | |
| parent | 92901b7c88fe8d670df9d5ef92d3b2bf507ce2f8 (diff) | |
Log when bubble is moved to overflow
Log when there are too many bubbles in the bubble bar and the oldest
bubble gets moved to overflow.
Bug: 349845968
Test: atest com.android.wm.shell.bubbles.BubbleDataTest
Test: manual, trigger multiple bubbles until there are too many, check
that when oldest bubble moves to overflow, event is logged
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Ib6f2f9a48772c0571291c80ab301b2ddc9b95c00
Diffstat (limited to 'libs')
3 files changed, 38 insertions, 8 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 ec6af9f1883a..294569190f68 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 @@ -885,7 +885,7 @@ public class BubbleData { return; } ProtoLog.d(WM_SHELL_BUBBLES, "overflowBubble=%s", bubble.getKey()); - mLogger.logOverflowAdd(bubble, reason); + mLogger.logOverflowAdd(bubble, mPositioner.isShowingInBubbleBar(), reason); if (mOverflowBubbles.isEmpty()) { mStateChange.showOverflowChanged = true; } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleLogger.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleLogger.java index a2cc48b1f460..347df330c4b3 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleLogger.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleLogger.java @@ -203,13 +203,19 @@ public class BubbleLogger { * @param b Bubble added to overflow * @param r Reason that bubble was added to overflow */ - public void logOverflowAdd(Bubble b, @Bubbles.DismissReason int r) { - if (r == Bubbles.DISMISS_AGED) { - log(b, Event.BUBBLE_OVERFLOW_ADD_AGED); - } else if (r == Bubbles.DISMISS_USER_GESTURE) { - log(b, Event.BUBBLE_OVERFLOW_ADD_USER_GESTURE); - } else if (r == Bubbles.DISMISS_RELOAD_FROM_DISK) { - log(b, Event.BUBBLE_OVERFLOW_RECOVER); + public void logOverflowAdd(Bubble b, boolean bubbleBar, @Bubbles.DismissReason int r) { + if (bubbleBar) { + if (r == Bubbles.DISMISS_AGED) { + log(b, Event.BUBBLE_BAR_OVERFLOW_ADD_AGED); + } + } else { + if (r == Bubbles.DISMISS_AGED) { + log(b, Event.BUBBLE_OVERFLOW_ADD_AGED); + } else if (r == Bubbles.DISMISS_USER_GESTURE) { + log(b, Event.BUBBLE_OVERFLOW_ADD_USER_GESTURE); + } else if (r == Bubbles.DISMISS_RELOAD_FROM_DISK) { + log(b, Event.BUBBLE_OVERFLOW_RECOVER); + } } } 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 72595e67193f..ce640b5e5195 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 @@ -351,6 +351,30 @@ public class BubbleDataTest extends ShellTestCase { } @Test + public void testRemoveBubbleFromBubbleBar_addToOverflow_logEvent() { + mPositioner.setShowingInBubbleBar(true); + + sendUpdatedEntryAtTime(mEntryA1, 1000); + mBubbleData.setListener(mListener); + + mBubbleData.dismissBubbleWithKey(mEntryA1.getKey(), Bubbles.DISMISS_AGED); + assertThat(mUiEventLogger.numLogs()).isEqualTo(1); + assertThat(mUiEventLogger.eventId(0)).isEqualTo( + BubbleLogger.Event.BUBBLE_BAR_OVERFLOW_ADD_AGED.getId()); + } + + @Test + public void testRemoveBubble_notifCancelled_noLog() { + mPositioner.setShowingInBubbleBar(false); + + sendUpdatedEntryAtTime(mEntryA1, 1000); + mBubbleData.setListener(mListener); + + mBubbleData.dismissBubbleWithKey(mEntryA1.getKey(), Bubbles.DISMISS_BLOCKED); + assertThat(mUiEventLogger.numLogs()).isEqualTo(0); + } + + @Test public void ifSuppress_hideFlyout() { // Setup mBubbleData.setListener(mListener); |