Merge "Fill Status data in ConversationChannel" into sc-dev
This commit is contained in:
@@ -264,7 +264,8 @@ public class DataManager {
|
|||||||
return new ConversationChannel(shortcutInfo, uid, parentChannel,
|
return new ConversationChannel(shortcutInfo, uid, parentChannel,
|
||||||
parentChannelGroup,
|
parentChannelGroup,
|
||||||
conversationInfo.getLastEventTimestamp(),
|
conversationInfo.getLastEventTimestamp(),
|
||||||
hasActiveNotifications(packageName, userId, shortcutId));
|
hasActiveNotifications(packageName, userId, shortcutId), false,
|
||||||
|
getStatuses(conversationInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the cached non-customized recent conversations. */
|
/** Returns the cached non-customized recent conversations. */
|
||||||
@@ -404,6 +405,10 @@ public class DataManager {
|
|||||||
String conversationId) {
|
String conversationId) {
|
||||||
ConversationStore cs = getConversationStoreOrThrow(packageName, userId);
|
ConversationStore cs = getConversationStoreOrThrow(packageName, userId);
|
||||||
ConversationInfo conversationInfo = getConversationInfoOrThrow(cs, conversationId);
|
ConversationInfo conversationInfo = getConversationInfoOrThrow(cs, conversationId);
|
||||||
|
return getStatuses(conversationInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
private @NonNull List<ConversationStatus> getStatuses(ConversationInfo conversationInfo) {
|
||||||
Collection<ConversationStatus> statuses = conversationInfo.getStatuses();
|
Collection<ConversationStatus> statuses = conversationInfo.getStatuses();
|
||||||
if (statuses != null) {
|
if (statuses != null) {
|
||||||
final ArrayList<ConversationStatus> list = new ArrayList<>(statuses.size());
|
final ArrayList<ConversationStatus> list = new ArrayList<>(statuses.size());
|
||||||
|
|||||||
@@ -535,8 +535,11 @@ public final class DataManagerTest {
|
|||||||
listenerService.onNotificationChannelModified(TEST_PKG_NAME, UserHandle.of(USER_ID_PRIMARY),
|
listenerService.onNotificationChannelModified(TEST_PKG_NAME, UserHandle.of(USER_ID_PRIMARY),
|
||||||
mNotificationChannel, NOTIFICATION_CHANNEL_OR_GROUP_UPDATED);
|
mNotificationChannel, NOTIFICATION_CHANNEL_OR_GROUP_UPDATED);
|
||||||
|
|
||||||
assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
|
ConversationChannel result = mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
|
||||||
TEST_SHORTCUT_ID)).isNotNull();
|
TEST_SHORTCUT_ID);
|
||||||
|
assertThat(result).isNotNull();
|
||||||
|
assertThat(result.hasBirthdayToday()).isFalse();
|
||||||
|
assertThat(result.getStatuses()).isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -550,13 +553,15 @@ public final class DataManagerTest {
|
|||||||
shortcut.setCached(ShortcutInfo.FLAG_PINNED);
|
shortcut.setCached(ShortcutInfo.FLAG_PINNED);
|
||||||
mDataManager.addOrUpdateConversationInfo(shortcut);
|
mDataManager.addOrUpdateConversationInfo(shortcut);
|
||||||
assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
|
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,
|
assertThat(mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
|
||||||
TEST_SHORTCUT_ID + "1")).isNull();
|
TEST_SHORTCUT_ID + "1")).isNull();
|
||||||
|
|
||||||
NotificationListenerService listenerService =
|
NotificationListenerService listenerService =
|
||||||
mDataManager.getNotificationListenerServiceForTesting(USER_ID_PRIMARY);
|
mDataManager.getNotificationListenerServiceForTesting(USER_ID_PRIMARY);
|
||||||
listenerService.onNotificationPosted(mStatusBarNotification);
|
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,
|
ConversationChannel result = mDataManager.getConversation(TEST_PKG_NAME, USER_ID_PRIMARY,
|
||||||
TEST_SHORTCUT_ID);
|
TEST_SHORTCUT_ID);
|
||||||
@@ -568,6 +573,8 @@ public final class DataManagerTest {
|
|||||||
result.getParentNotificationChannel().getId());
|
result.getParentNotificationChannel().getId());
|
||||||
assertEquals(mStatusBarNotification.getPostTime(), result.getLastEventTimestamp());
|
assertEquals(mStatusBarNotification.getPostTime(), result.getLastEventTimestamp());
|
||||||
assertTrue(result.hasActiveNotifications());
|
assertTrue(result.hasActiveNotifications());
|
||||||
|
assertFalse(result.hasBirthdayToday());
|
||||||
|
assertThat(result.getStatuses()).containsExactly(cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user