|
|
@ -25,32 +25,75 @@ import io.element.android.libraries.matrix.api.room.RoomNotificationMode |
|
|
|
open class RoomListRoomSummaryProvider : PreviewParameterProvider<RoomListRoomSummary> { |
|
|
|
open class RoomListRoomSummaryProvider : PreviewParameterProvider<RoomListRoomSummary> { |
|
|
|
override val values: Sequence<RoomListRoomSummary> |
|
|
|
override val values: Sequence<RoomListRoomSummary> |
|
|
|
get() = sequenceOf( |
|
|
|
get() = sequenceOf( |
|
|
|
aRoomListRoomSummary(), |
|
|
|
listOf( |
|
|
|
aRoomListRoomSummary().copy(lastMessage = null), |
|
|
|
aRoomListRoomSummary(isPlaceholder = true), |
|
|
|
aRoomListRoomSummary().copy(hasUnread = true, notificationMode = RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY), |
|
|
|
aRoomListRoomSummary(timestamp = null), |
|
|
|
aRoomListRoomSummary().copy(timestamp = "88:88", notificationMode = RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY), |
|
|
|
aRoomListRoomSummary(lastMessage = "Last message"), |
|
|
|
aRoomListRoomSummary().copy(timestamp = "88:88", notificationMode = RoomNotificationMode.MUTE), |
|
|
|
aRoomListRoomSummary( |
|
|
|
aRoomListRoomSummary().copy(timestamp = "88:88", hasUnread = true), |
|
|
|
name = "A very long room name that should be truncated", |
|
|
|
aRoomListRoomSummary().copy(isPlaceholder = true, timestamp = "88:88"), |
|
|
|
lastMessage = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt" + |
|
|
|
aRoomListRoomSummary().copy( |
|
|
|
" ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea com" + |
|
|
|
name = "A very long room name that should be truncated", |
|
|
|
"modo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", |
|
|
|
lastMessage = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt" + |
|
|
|
timestamp = "yesterday", |
|
|
|
" ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea com" + |
|
|
|
numUnreadMessages = 1, |
|
|
|
"modo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", |
|
|
|
), |
|
|
|
timestamp = "yesterday", |
|
|
|
|
|
|
|
hasUnread = true, |
|
|
|
|
|
|
|
), |
|
|
|
), |
|
|
|
aRoomListRoomSummary().copy(hasUnread = true, hasOngoingCall = true), |
|
|
|
listOf(false, true).map { hasCall -> |
|
|
|
) |
|
|
|
listOf( |
|
|
|
|
|
|
|
RoomNotificationMode.ALL_MESSAGES, |
|
|
|
|
|
|
|
RoomNotificationMode.MENTIONS_AND_KEYWORDS_ONLY, |
|
|
|
|
|
|
|
RoomNotificationMode.MUTE, |
|
|
|
|
|
|
|
).map { roomNotificationMode -> |
|
|
|
|
|
|
|
listOf( |
|
|
|
|
|
|
|
aRoomListRoomSummary( |
|
|
|
|
|
|
|
name = roomNotificationMode.name, |
|
|
|
|
|
|
|
lastMessage = "No activity" + if (hasCall) ", call" else "", |
|
|
|
|
|
|
|
notificationMode = roomNotificationMode, |
|
|
|
|
|
|
|
numUnreadMessages = 0, |
|
|
|
|
|
|
|
numUnreadMentions = 0, |
|
|
|
|
|
|
|
hasOngoingCall = hasCall, |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
aRoomListRoomSummary( |
|
|
|
|
|
|
|
name = roomNotificationMode.name, |
|
|
|
|
|
|
|
lastMessage = "New messages" + if (hasCall) ", call" else "", |
|
|
|
|
|
|
|
notificationMode = roomNotificationMode, |
|
|
|
|
|
|
|
numUnreadMessages = 1, |
|
|
|
|
|
|
|
numUnreadMentions = 0, |
|
|
|
|
|
|
|
hasOngoingCall = hasCall, |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
aRoomListRoomSummary( |
|
|
|
|
|
|
|
name = roomNotificationMode.name, |
|
|
|
|
|
|
|
lastMessage = "New messages, mentions" + if (hasCall) ", call" else "", |
|
|
|
|
|
|
|
notificationMode = roomNotificationMode, |
|
|
|
|
|
|
|
numUnreadMessages = 1, |
|
|
|
|
|
|
|
numUnreadMentions = 1, |
|
|
|
|
|
|
|
hasOngoingCall = hasCall, |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
}.flatten() |
|
|
|
|
|
|
|
}.flatten(), |
|
|
|
|
|
|
|
).flatten() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fun aRoomListRoomSummary() = RoomListRoomSummary( |
|
|
|
fun aRoomListRoomSummary( |
|
|
|
|
|
|
|
lastMessage: String? = null, |
|
|
|
|
|
|
|
notificationMode: RoomNotificationMode? = null, |
|
|
|
|
|
|
|
numUnreadMessages: Int = 0, |
|
|
|
|
|
|
|
numUnreadMentions: Int = 0, |
|
|
|
|
|
|
|
timestamp: String? = "88:88", |
|
|
|
|
|
|
|
hasOngoingCall: Boolean = false, |
|
|
|
|
|
|
|
isPlaceholder: Boolean = false, |
|
|
|
|
|
|
|
name: String = "Room name", |
|
|
|
|
|
|
|
) = RoomListRoomSummary( |
|
|
|
id = "!roomId", |
|
|
|
id = "!roomId", |
|
|
|
roomId = RoomId("!roomId:domain"), |
|
|
|
roomId = RoomId("!roomId:domain"), |
|
|
|
name = "Room name", |
|
|
|
name = name, |
|
|
|
hasUnread = false, |
|
|
|
numUnreadMessages = numUnreadMessages, |
|
|
|
timestamp = null, |
|
|
|
numUnreadMentions = numUnreadMentions, |
|
|
|
lastMessage = "Last message", |
|
|
|
timestamp = timestamp, |
|
|
|
|
|
|
|
lastMessage = lastMessage, |
|
|
|
avatarData = AvatarData("!roomId", "Room name", size = AvatarSize.RoomListItem), |
|
|
|
avatarData = AvatarData("!roomId", "Room name", size = AvatarSize.RoomListItem), |
|
|
|
isPlaceholder = false, |
|
|
|
isPlaceholder = isPlaceholder, |
|
|
|
|
|
|
|
userDefinedNotificationMode = notificationMode, |
|
|
|
|
|
|
|
hasRoomCall = hasOngoingCall, |
|
|
|
) |
|
|
|
) |
|
|
|