Merge "Don't include app bubbles in the overflow" into tm-qpr-dev am: b08914d429
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20889976 Change-Id: I17c8672dd7b1525041c7a4bc243f348d0e53740e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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.PACKAGE;
|
||||||
import static com.android.internal.annotations.VisibleForTesting.Visibility.PRIVATE;
|
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.DEBUG_BUBBLE_DATA;
|
||||||
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES;
|
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES;
|
||||||
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
|
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
|
||||||
@@ -684,7 +685,8 @@ public class BubbleData {
|
|||||||
if (bubble.getPendingIntentCanceled()
|
if (bubble.getPendingIntentCanceled()
|
||||||
|| !(reason == Bubbles.DISMISS_AGED
|
|| !(reason == Bubbles.DISMISS_AGED
|
||||||
|| reason == Bubbles.DISMISS_USER_GESTURE
|
|| reason == Bubbles.DISMISS_USER_GESTURE
|
||||||
|| reason == Bubbles.DISMISS_RELOAD_FROM_DISK)) {
|
|| reason == Bubbles.DISMISS_RELOAD_FROM_DISK)
|
||||||
|
|| KEY_APP_BUBBLE.equals(bubble.getKey())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (DEBUG_BUBBLE_DATA) {
|
if (DEBUG_BUBBLE_DATA) {
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.wm.shell.bubbles;
|
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.assertThat;
|
||||||
import static com.google.common.truth.Truth.assertWithMessage;
|
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.Notification;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
|
import android.content.Intent;
|
||||||
import android.content.LocusId;
|
import android.content.LocusId;
|
||||||
import android.graphics.drawable.Icon;
|
import android.graphics.drawable.Icon;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -94,6 +97,7 @@ public class BubbleDataTest extends ShellTestCase {
|
|||||||
private Bubble mBubbleInterruptive;
|
private Bubble mBubbleInterruptive;
|
||||||
private Bubble mBubbleDismissed;
|
private Bubble mBubbleDismissed;
|
||||||
private Bubble mBubbleLocusId;
|
private Bubble mBubbleLocusId;
|
||||||
|
private Bubble mAppBubble;
|
||||||
|
|
||||||
private BubbleData mBubbleData;
|
private BubbleData mBubbleData;
|
||||||
private TestableBubblePositioner mPositioner;
|
private TestableBubblePositioner mPositioner;
|
||||||
@@ -178,6 +182,11 @@ public class BubbleDataTest extends ShellTestCase {
|
|||||||
mBubbleMetadataFlagListener,
|
mBubbleMetadataFlagListener,
|
||||||
mPendingIntentCanceledListener,
|
mPendingIntentCanceledListener,
|
||||||
mMainExecutor);
|
mMainExecutor);
|
||||||
|
|
||||||
|
Intent appBubbleIntent = new Intent(mContext, BubblesTestActivity.class);
|
||||||
|
appBubbleIntent.setPackage(mContext.getPackageName());
|
||||||
|
mAppBubble = new Bubble(appBubbleIntent, new UserHandle(1), mMainExecutor);
|
||||||
|
|
||||||
mPositioner = new TestableBubblePositioner(mContext,
|
mPositioner = new TestableBubblePositioner(mContext,
|
||||||
mock(WindowManager.class));
|
mock(WindowManager.class));
|
||||||
mBubbleData = new BubbleData(getContext(), mBubbleLogger, mPositioner,
|
mBubbleData = new BubbleData(getContext(), mBubbleLogger, mPositioner,
|
||||||
@@ -1089,6 +1098,18 @@ public class BubbleDataTest extends ShellTestCase {
|
|||||||
assertOverflowChangedTo(ImmutableList.of());
|
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() {
|
private void verifyUpdateReceived() {
|
||||||
verify(mListener).applyUpdate(mUpdateCaptor.capture());
|
verify(mListener).applyUpdate(mUpdateCaptor.capture());
|
||||||
reset(mListener);
|
reset(mListener);
|
||||||
|
|||||||
Reference in New Issue
Block a user