diff options
| -rw-r--r-- | services/people/java/com/android/server/people/data/DataManager.java | 7 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java | 13 |
2 files changed, 16 insertions, 4 deletions
diff --git a/services/people/java/com/android/server/people/data/DataManager.java b/services/people/java/com/android/server/people/data/DataManager.java index 9a9a17112245..444f9c685a1b 100644 --- a/services/people/java/com/android/server/people/data/DataManager.java +++ b/services/people/java/com/android/server/people/data/DataManager.java @@ -264,7 +264,8 @@ public class DataManager { return new ConversationChannel(shortcutInfo, uid, parentChannel, parentChannelGroup, conversationInfo.getLastEventTimestamp(), - hasActiveNotifications(packageName, userId, shortcutId)); + hasActiveNotifications(packageName, userId, shortcutId), false, + getStatuses(conversationInfo)); } /** Returns the cached non-customized recent conversations. */ @@ -404,6 +405,10 @@ public class DataManager { String conversationId) { ConversationStore cs = getConversationStoreOrThrow(packageName, userId); ConversationInfo conversationInfo = getConversationInfoOrThrow(cs, conversationId); + return getStatuses(conversationInfo); + } + + private @NonNull List<ConversationStatus> getStatuses(ConversationInfo conversationInfo) { Collection<ConversationStatus> statuses = conversationInfo.getStatuses(); if (statuses != null) { final ArrayList<ConversationStatus> list = new ArrayList<>(statuses.size()); diff --git a/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java b/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java index 161d3163c1cf..6e5789686c55 100644 --- a/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/people/data/DataManagerTest.java @@ -535,8 +535,11 @@ public final class DataManagerTest { listenerService.onNotificationChannelModified(TEST_PKG_NAME, UserHandle.of(USER_ID_PRIMARY), mNotificationChannel, NOTIFICATION_CHANNEL_OR_GROUP_UPDATED); - assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY, - TEST_SHORTCUT_ID)).isNotNull(); + ConversationChannel result = mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY, + TEST_SHORTCUT_ID); + assertThat(result).isNotNull(); + assertThat(result.hasBirthdayToday()).isFalse(); + assertThat(result.getStatuses()).isEmpty(); } @Test @@ -550,13 +553,15 @@ public final class DataManagerTest { shortcut.setCached(ShortcutInfo.FLAG_PINNED); mDataManager.addOrUpdateConversationInfo(shortcut); assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY, - TEST_SHORTCUT_ID)).isNotNull(); + TEST_SHORTCUT_ID)).isNotNull(); assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID + "1")).isNull(); NotificationListenerService listenerService = mDataManager.getNotificationListenerServiceForTesting(USER_ID_PRIMARY); listenerService.onNotificationPosted(mStatusBarNotification); + ConversationStatus cs = new ConversationStatus.Builder("id", ACTIVITY_ANNIVERSARY).build(); + mDataManager.addOrUpdateStatus(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID, cs); ConversationChannel result = mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY, TEST_SHORTCUT_ID); @@ -568,6 +573,8 @@ public final class DataManagerTest { result.getParentNotificationChannel().getId()); assertEquals(mStatusBarNotification.getPostTime(), result.getLastEventTimestamp()); assertTrue(result.hasActiveNotifications()); + assertFalse(result.hasBirthdayToday()); + assertThat(result.getStatuses()).containsExactly(cs); } @Test |