Display most recent activity in room list (#220)

* Create `RoomLastMessageFormatter` to produce readable room summaries.

* Add unit tests using Robolectric, fix bugs

* Add changelog

* Move `RoomLastMessageFormatter` back to `impl` module, allow it to receive an `EventTimelineItem` instead of `MessageContent`.
This commit is contained in:
Jorge Martin Espinosa 2023-03-20 11:18:25 +01:00 committed by GitHub
parent 8064ceb68a
commit ea17abebf3
24 changed files with 1311 additions and 48 deletions

View file

@ -17,6 +17,7 @@
package io.element.android.libraries.matrix.api.room
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.room.message.RoomMessage
sealed interface RoomSummary {
data class Empty(val identifier: String) : RoomSummary
@ -35,7 +36,7 @@ data class RoomSummaryDetails(
val name: String,
val isDirect: Boolean,
val avatarURLString: String?,
val lastMessage: CharSequence?,
val lastMessage: RoomMessage?,
val lastMessageTimestamp: Long?,
val unreadNotificationCount: Int,
)

View file

@ -18,10 +18,11 @@ package io.element.android.libraries.matrix.api.room.message
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
data class RoomMessage(
val eventId: EventId,
val body: String,
val event: EventTimelineItem,
val sender: UserId,
val originServerTs: Long,
)