From fe7dfcb09b6fd2f850383953375b95a33b52fb70 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 16 Apr 2024 11:35:05 +0200 Subject: [PATCH] Use RoomId and RoomAlias in MatrixRoomInfo --- .../android/features/messages/impl/MessagesPresenterTest.kt | 2 +- .../messages/impl/typing/TypingNotificationPresenterTest.kt | 2 +- .../android/libraries/matrix/api/room/MatrixRoomInfo.kt | 6 ++++-- .../libraries/matrix/impl/room/MatrixRoomInfoMapper.kt | 6 ++++-- .../android/libraries/matrix/test/room/FakeMatrixRoom.kt | 5 +++-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 002b34f0eb..8df2c6d705 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -720,7 +720,7 @@ class MessagesPresenterTest { private fun TestScope.createMessagesPresenter( coroutineDispatchers: CoroutineDispatchers = testCoroutineDispatchers(), matrixRoom: MatrixRoom = FakeMatrixRoom().apply { - givenRoomInfo(aRoomInfo(id = roomId.value, name = "")) + givenRoomInfo(aRoomInfo(id = roomId, name = "")) }, navigator: FakeMessagesNavigator = FakeMessagesNavigator(), clipboardHelper: FakeClipboardHelper = FakeClipboardHelper(), diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt index aaf0f9f774..540d9f67c4 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt @@ -201,7 +201,7 @@ class TypingNotificationPresenterTest { private fun createPresenter( matrixRoom: MatrixRoom = FakeMatrixRoom().apply { - givenRoomInfo(aRoomInfo(id = roomId.value, name = "")) + givenRoomInfo(aRoomInfo(id = roomId, name = "")) }, sessionPreferencesStore: SessionPreferencesStore = InMemorySessionPreferencesStore( isRenderTypingNotificationsEnabled = true diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt index 8ad8260a7d..eea1cc9c1b 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoomInfo.kt @@ -17,6 +17,8 @@ package io.element.android.libraries.matrix.api.room import androidx.compose.runtime.Immutable +import io.element.android.libraries.matrix.api.core.RoomAlias +import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem import kotlinx.collections.immutable.ImmutableList @@ -24,7 +26,7 @@ import kotlinx.collections.immutable.ImmutableMap @Immutable data class MatrixRoomInfo( - val id: String, + val id: RoomId, val name: String?, val topic: String?, val avatarUrl: String?, @@ -33,7 +35,7 @@ data class MatrixRoomInfo( val isSpace: Boolean, val isTombstoned: Boolean, val isFavorite: Boolean, - val canonicalAlias: String?, + val canonicalAlias: RoomAlias?, val alternativeAliases: ImmutableList, val currentUserMembership: CurrentUserMembership, val latestEvent: EventTimelineItem?, diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt index 3331771f79..d3ef3283bd 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MatrixRoomInfoMapper.kt @@ -16,6 +16,8 @@ package io.element.android.libraries.matrix.impl.room +import io.element.android.libraries.matrix.api.core.RoomAlias +import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.room.CurrentUserMembership import io.element.android.libraries.matrix.api.room.MatrixRoomInfo @@ -35,7 +37,7 @@ class MatrixRoomInfoMapper( ) { fun map(rustRoomInfo: RustRoomInfo): MatrixRoomInfo = rustRoomInfo.use { return MatrixRoomInfo( - id = it.id, + id = RoomId(it.id), name = it.name, topic = it.topic, avatarUrl = it.avatarUrl, @@ -44,7 +46,7 @@ class MatrixRoomInfoMapper( isSpace = it.isSpace, isTombstoned = it.isTombstoned, isFavorite = it.isFavourite, - canonicalAlias = it.canonicalAlias, + canonicalAlias = it.canonicalAlias?.let(::RoomAlias), alternativeAliases = it.alternativeAliases.toImmutableList(), currentUserMembership = it.membership.map(), latestEvent = it.latestEvent?.use(timelineItemMapper::map), diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 5938cd300b..ee3e1137bb 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -18,6 +18,7 @@ package io.element.android.libraries.matrix.test.room import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.ProgressCallback +import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.core.TransactionId @@ -751,7 +752,7 @@ data class EndPollInvocation( ) fun aRoomInfo( - id: String = A_ROOM_ID.value, + id: RoomId = A_ROOM_ID, name: String? = A_ROOM_NAME, topic: String? = "A topic", avatarUrl: String? = AN_AVATAR_URL, @@ -760,7 +761,7 @@ fun aRoomInfo( isSpace: Boolean = false, isTombstoned: Boolean = false, isFavorite: Boolean = false, - canonicalAlias: String? = null, + canonicalAlias: RoomAlias? = null, alternativeAliases: List = emptyList(), currentUserMembership: CurrentUserMembership = CurrentUserMembership.JOINED, latestEvent: EventTimelineItem? = null,