From 7a693fa4dbff0a20324c6781f6cfa9c8a15cdafa Mon Sep 17 00:00:00 2001 From: Liran Binyamin Date: Thu, 4 May 2023 14:30:52 -0400 Subject: [PATCH] Add a field to BubbleInfo to indicate whether a bubble is important. Bug: 269671451 Test: atest BubbleInfoTest Change-Id: Ia36c1d1e507dbc0c5be10640f71d82464fc13230 --- .../src/com/android/wm/shell/bubbles/Bubble.java | 3 ++- .../android/wm/shell/common/bubbles/BubbleInfo.java | 13 ++++++++++--- .../wm/shell/common/bubbles/BubbleInfoTest.kt | 5 ++++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java index e396ba13f154d..102f2cb4b8d0c 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java @@ -301,7 +301,8 @@ public class Bubble implements BubbleViewProvider { getIcon(), getUser().getIdentifier(), getPackageName(), - getTitle()); + getTitle(), + isImportantConversation()); } @Override diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/bubbles/BubbleInfo.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/bubbles/BubbleInfo.java index baa23e3040c40..21355a3efa2e3 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/bubbles/BubbleInfo.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/bubbles/BubbleInfo.java @@ -30,8 +30,6 @@ import java.util.Objects; */ public class BubbleInfo implements Parcelable { - // TODO(b/269671451): needs whether the bubble is an 'important person' or not - private String mKey; // Same key as the Notification private int mFlags; // Flags from BubbleMetadata @Nullable @@ -47,9 +45,11 @@ public class BubbleInfo implements Parcelable { private Icon mIcon; @Nullable private String mTitle; + private boolean mIsImportantConversation; public BubbleInfo(String key, int flags, @Nullable String shortcutId, @Nullable Icon icon, - int userId, String packageName, @Nullable String title) { + int userId, String packageName, @Nullable String title, + boolean isImportantConversation) { mKey = key; mFlags = flags; mShortcutId = shortcutId; @@ -57,6 +57,7 @@ public class BubbleInfo implements Parcelable { mUserId = userId; mPackageName = packageName; mTitle = title; + mIsImportantConversation = isImportantConversation; } private BubbleInfo(Parcel source) { @@ -67,6 +68,7 @@ public class BubbleInfo implements Parcelable { mUserId = source.readInt(); mPackageName = source.readString(); mTitle = source.readString(); + mIsImportantConversation = source.readBoolean(); } public String getKey() { @@ -100,6 +102,10 @@ public class BubbleInfo implements Parcelable { return mTitle; } + public boolean isImportantConversation() { + return mIsImportantConversation; + } + /** * Whether this bubble is currently being hidden from the stack. */ @@ -150,6 +156,7 @@ public class BubbleInfo implements Parcelable { parcel.writeInt(mUserId); parcel.writeString(mPackageName); parcel.writeString(mTitle); + parcel.writeBoolean(mIsImportantConversation); } @NonNull diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/bubbles/BubbleInfoTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/bubbles/BubbleInfoTest.kt index 8fbac1db86531..432909f188130 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/bubbles/BubbleInfoTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/bubbles/BubbleInfoTest.kt @@ -31,7 +31,8 @@ class BubbleInfoTest : ShellTestCase() { @Test fun bubbleInfo() { - val bubbleInfo = BubbleInfo("key", 0, "shortcut id", null, 6, "com.some.package", "title") + val bubbleInfo = + BubbleInfo("key", 0, "shortcut id", null, 6, "com.some.package", "title", true) val parcel = Parcel.obtain() bubbleInfo.writeToParcel(parcel, PARCELABLE_WRITE_RETURN_VALUE) parcel.setDataPosition(0) @@ -45,5 +46,7 @@ class BubbleInfoTest : ShellTestCase() { assertThat(bubbleInfo.userId).isEqualTo(bubbleInfoFromParcel.userId) assertThat(bubbleInfo.packageName).isEqualTo(bubbleInfoFromParcel.packageName) assertThat(bubbleInfo.title).isEqualTo(bubbleInfoFromParcel.title) + assertThat(bubbleInfo.isImportantConversation) + .isEqualTo(bubbleInfoFromParcel.isImportantConversation) } }