Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java +1 −1 Original line number Diff line number Diff line Loading @@ -496,7 +496,7 @@ public class Bubble implements BubbleViewProvider { /** Creates a parcelable flyout message to send to launcher. */ @Nullable private ParcelableFlyoutMessage getParcelableFlyoutMessage() { if (mFlyoutMessage == null) { if (mFlyoutMessage == null || !showFlyout()) { return null; } // the icon is only used in group chats Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleTest.java +37 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.content.ComponentName; import android.content.Intent; import android.content.pm.ShortcutInfo; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Bundle; import android.os.UserHandle; Loading Loading @@ -315,6 +316,42 @@ public class BubbleTest extends ShellTestCase { assertThat(bubble.getTaskId()).isEqualTo(INVALID_TASK_ID); } @Test public void testAsBubbleBarBubble_showFlyoutFalse() { Bubble b = createChatBubble(true); BubbleViewInfoTask.BubbleViewInfo info = new BubbleViewInfoTask.BubbleViewInfo(); info.flyoutMessage = createFlyoutMessage(); b.setViewInfo(info); b.setSuppressFlyout(true); assertThat(b.showFlyout()).isFalse(); BubbleInfo bubbleInfo = b.asBubbleBarBubble(); assertThat(bubbleInfo.getParcelableFlyoutMessage()).isNull(); } @Test public void testAsBubbleBarBubble_showFlyoutTrue() { Bubble b = createChatBubble(true); BubbleViewInfoTask.BubbleViewInfo info = new BubbleViewInfoTask.BubbleViewInfo(); info.flyoutMessage = createFlyoutMessage(); b.setViewInfo(info); assertThat(b.showFlyout()).isTrue(); BubbleInfo bubbleInfo = b.asBubbleBarBubble(); assertThat(bubbleInfo.getParcelableFlyoutMessage()).isNotNull(); } private Bubble.FlyoutMessage createFlyoutMessage() { Bubble.FlyoutMessage flyout = new Bubble.FlyoutMessage(); flyout.senderIcon = mock(Icon.class); flyout.senderAvatar = mock(Drawable.class); flyout.senderName = "senderName"; flyout.message = "help I'm trapped in a bubble"; return flyout; } private Intent createIntent() { Intent intent = new Intent(mContext, BubblesTestActivity.class); intent.setPackage(mContext.getPackageName()); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java +1 −1 Original line number Diff line number Diff line Loading @@ -496,7 +496,7 @@ public class Bubble implements BubbleViewProvider { /** Creates a parcelable flyout message to send to launcher. */ @Nullable private ParcelableFlyoutMessage getParcelableFlyoutMessage() { if (mFlyoutMessage == null) { if (mFlyoutMessage == null || !showFlyout()) { return null; } // the icon is only used in group chats Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleTest.java +37 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.content.ComponentName; import android.content.Intent; import android.content.pm.ShortcutInfo; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Bundle; import android.os.UserHandle; Loading Loading @@ -315,6 +316,42 @@ public class BubbleTest extends ShellTestCase { assertThat(bubble.getTaskId()).isEqualTo(INVALID_TASK_ID); } @Test public void testAsBubbleBarBubble_showFlyoutFalse() { Bubble b = createChatBubble(true); BubbleViewInfoTask.BubbleViewInfo info = new BubbleViewInfoTask.BubbleViewInfo(); info.flyoutMessage = createFlyoutMessage(); b.setViewInfo(info); b.setSuppressFlyout(true); assertThat(b.showFlyout()).isFalse(); BubbleInfo bubbleInfo = b.asBubbleBarBubble(); assertThat(bubbleInfo.getParcelableFlyoutMessage()).isNull(); } @Test public void testAsBubbleBarBubble_showFlyoutTrue() { Bubble b = createChatBubble(true); BubbleViewInfoTask.BubbleViewInfo info = new BubbleViewInfoTask.BubbleViewInfo(); info.flyoutMessage = createFlyoutMessage(); b.setViewInfo(info); assertThat(b.showFlyout()).isTrue(); BubbleInfo bubbleInfo = b.asBubbleBarBubble(); assertThat(bubbleInfo.getParcelableFlyoutMessage()).isNotNull(); } private Bubble.FlyoutMessage createFlyoutMessage() { Bubble.FlyoutMessage flyout = new Bubble.FlyoutMessage(); flyout.senderIcon = mock(Icon.class); flyout.senderAvatar = mock(Drawable.class); flyout.senderName = "senderName"; flyout.message = "help I'm trapped in a bubble"; return flyout; } private Intent createIntent() { Intent intent = new Intent(mContext, BubblesTestActivity.class); intent.setPackage(mContext.getPackageName()); Loading