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

Commit 2509c0c2 authored by Mady Mellor's avatar Mady Mellor
Browse files

Don't include app bubbles in the overflow

Bug: 253320821
Test: atest BubbleDataTest
Change-Id: I73f01d32c07eb6da4021f6ed2cbc9bfae4a0a20f
parent 64e7d5c1
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package com.android.wm.shell.bubbles;

import static com.android.internal.annotations.VisibleForTesting.Visibility.PACKAGE;
import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIVATE;
import static com.android.wm.shell.bubbles.Bubble.KEY_APP_BUBBLE;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.DEBUG_BUBBLE_DATA;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
@@ -684,7 +685,8 @@ public class BubbleData {
        if (bubble.getPendingIntentCanceled()
                || !(reason == Bubbles.DISMISS_AGED
                || reason == Bubbles.DISMISS_USER_GESTURE
                || reason == Bubbles.DISMISS_RELOAD_FROM_DISK)) {
                || reason == Bubbles.DISMISS_RELOAD_FROM_DISK)
                || KEY_APP_BUBBLE.equals(bubble.getKey())) {
            return;
        }
        if (DEBUG_BUBBLE_DATA) {
+21 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.wm.shell.bubbles;

import static com.android.wm.shell.bubbles.Bubble.KEY_APP_BUBBLE;

import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;

@@ -32,6 +34,7 @@ import static org.mockito.Mockito.when;

import android.app.Notification;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.LocusId;
import android.graphics.drawable.Icon;
import android.os.Bundle;
@@ -94,6 +97,7 @@ public class BubbleDataTest extends ShellTestCase {
    private Bubble mBubbleInterruptive;
    private Bubble mBubbleDismissed;
    private Bubble mBubbleLocusId;
    private Bubble mAppBubble;

    private BubbleData mBubbleData;
    private TestableBubblePositioner mPositioner;
@@ -178,6 +182,11 @@ public class BubbleDataTest extends ShellTestCase {
                mBubbleMetadataFlagListener,
                mPendingIntentCanceledListener,
                mMainExecutor);

        Intent appBubbleIntent = new Intent(mContext, BubblesTestActivity.class);
        appBubbleIntent.setPackage(mContext.getPackageName());
        mAppBubble = new Bubble(appBubbleIntent, new UserHandle(1), mMainExecutor);

        mPositioner = new TestableBubblePositioner(mContext,
                mock(WindowManager.class));
        mBubbleData = new BubbleData(getContext(), mBubbleLogger, mPositioner,
@@ -1089,6 +1098,18 @@ public class BubbleDataTest extends ShellTestCase {
        assertOverflowChangedTo(ImmutableList.of());
    }

    @Test
    public void test_removeAppBubble_skipsOverflow() {
        mBubbleData.notificationEntryUpdated(mAppBubble, true /* suppressFlyout*/,
                false /* showInShade */);
        assertThat(mBubbleData.getBubbleInStackWithKey(KEY_APP_BUBBLE)).isEqualTo(mAppBubble);

        mBubbleData.dismissBubbleWithKey(KEY_APP_BUBBLE, Bubbles.DISMISS_USER_GESTURE);

        assertThat(mBubbleData.getOverflowBubbleWithKey(KEY_APP_BUBBLE)).isNull();
        assertThat(mBubbleData.getBubbleInStackWithKey(KEY_APP_BUBBLE)).isNull();
    }

    private void verifyUpdateReceived() {
        verify(mListener).applyUpdate(mUpdateCaptor.capture());
        reset(mListener);