From 99c43a175d4d37cc47a09b0f3135e7a08ea5db85 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 20 Jun 2024 11:59:38 +0200 Subject: [PATCH] Add heroes to `RoomSummaryDetails` --- .../android/libraries/matrix/api/roomlist/RoomSummary.kt | 2 ++ .../matrix/impl/roomlist/RoomSummaryDetailsFactory.kt | 1 + .../android/libraries/matrix/test/room/RoomSummaryFixture.kt | 3 +++ .../matrix/ui/components/RoomSummaryDetailsProvider.kt | 3 +++ 4 files changed, 9 insertions(+) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt index 425da8d3ca..1e38b00b61 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/roomlist/RoomSummary.kt @@ -22,6 +22,7 @@ import io.element.android.libraries.matrix.api.room.CurrentUserMembership import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomNotificationMode import io.element.android.libraries.matrix.api.room.message.RoomMessage +import io.element.android.libraries.matrix.api.user.MatrixUser sealed interface RoomSummary { data class Empty(val identifier: String) : RoomSummary @@ -52,6 +53,7 @@ data class RoomSummaryDetails( val isDm: Boolean, val isFavorite: Boolean, val currentUserMembership: CurrentUserMembership, + val heroes: List, ) { val lastMessageTimestamp = lastMessage?.originServerTs } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt index 3ccc071316..0ef31a6be2 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomSummaryDetailsFactory.kt @@ -49,6 +49,7 @@ class RoomSummaryDetailsFactory(private val roomMessageFactory: RoomMessageFacto isDm = roomInfo.isDirect && roomInfo.activeMembersCount.toLong() == 2L, isFavorite = roomInfo.isFavourite, currentUserMembership = roomInfo.membership.map(), + heroes = roomInfo.heroes.map { it.map() }, ) } } diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt index d9fdffa62a..611a68aad6 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt @@ -27,6 +27,7 @@ import io.element.android.libraries.matrix.api.room.message.RoomMessage import io.element.android.libraries.matrix.api.roomlist.RoomSummary import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem +import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.test.AN_EVENT_ID import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_NAME @@ -78,6 +79,7 @@ fun aRoomSummaryDetails( isDm: Boolean = false, isFavorite: Boolean = false, currentUserMembership: CurrentUserMembership = CurrentUserMembership.JOINED, + heroes: List = emptyList(), ) = RoomSummaryDetails( roomId = roomId, name = name, @@ -95,6 +97,7 @@ fun aRoomSummaryDetails( isDm = isDm, isFavorite = isFavorite, currentUserMembership = currentUserMembership, + heroes = heroes, ) fun aRoomMessage( diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/RoomSummaryDetailsProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/RoomSummaryDetailsProvider.kt index a433f49395..275848f3fc 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/RoomSummaryDetailsProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/RoomSummaryDetailsProvider.kt @@ -24,6 +24,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomNotificationMode import io.element.android.libraries.matrix.api.room.message.RoomMessage import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails +import io.element.android.libraries.matrix.api.user.MatrixUser open class RoomSummaryDetailsProvider : PreviewParameterProvider { override val values: Sequence @@ -50,6 +51,7 @@ fun aRoomSummaryDetails( isMarkedUnread: Boolean = false, isFavorite: Boolean = false, currentUserMembership: CurrentUserMembership = CurrentUserMembership.JOINED, + heroes: List = emptyList(), ) = RoomSummaryDetails( roomId = roomId, name = name, @@ -67,4 +69,5 @@ fun aRoomSummaryDetails( isMarkedUnread = isMarkedUnread, isFavorite = isFavorite, currentUserMembership = currentUserMembership, + heroes = heroes, )