dependencies (rust sdk) : replace RoomTombstone by SuccessorRoom
This commit is contained in:
parent
b8afce8664
commit
be2d83b4da
7 changed files with 53 additions and 24 deletions
|
|
@ -14,7 +14,7 @@ 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.RoomInfo
|
||||
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
|
||||
import io.element.android.libraries.matrix.api.room.RoomTombstone
|
||||
import io.element.android.libraries.matrix.api.room.SuccessorRoom
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
import io.element.android.libraries.matrix.impl.room.history.map
|
||||
import io.element.android.libraries.matrix.impl.room.join.map
|
||||
|
|
@ -28,6 +28,7 @@ import uniffi.matrix_sdk_base.EncryptionState
|
|||
import org.matrix.rustcomponents.sdk.Membership as RustMembership
|
||||
import org.matrix.rustcomponents.sdk.RoomInfo as RustRoomInfo
|
||||
import org.matrix.rustcomponents.sdk.RoomNotificationMode as RustRoomNotificationMode
|
||||
import org.matrix.rustcomponents.sdk.SuccessorRoom as RustSuccessorRoom
|
||||
|
||||
class RoomInfoMapper {
|
||||
fun map(rustRoomInfo: RustRoomInfo): RoomInfo = rustRoomInfo.let {
|
||||
|
|
@ -47,9 +48,6 @@ class RoomInfoMapper {
|
|||
},
|
||||
joinRule = it.joinRule?.map(),
|
||||
isSpace = it.isSpace,
|
||||
tombstone = it.tombstone?.let {
|
||||
RoomTombstone(it.body, RoomId(it.replacementRoomId))
|
||||
},
|
||||
isFavorite = it.isFavourite,
|
||||
canonicalAlias = it.canonicalAlias?.let(::RoomAlias),
|
||||
alternativeAliases = it.alternativeAliases.map(::RoomAlias).toImmutableList(),
|
||||
|
|
@ -71,6 +69,7 @@ class RoomInfoMapper {
|
|||
numUnreadMentions = it.numUnreadMentions.toLong(),
|
||||
numUnreadNotifications = it.numUnreadNotifications.toLong(),
|
||||
historyVisibility = it.historyVisibility.map(),
|
||||
successorRoom = it.successorRoom?.map(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -89,6 +88,11 @@ fun RustRoomNotificationMode.map(): RoomNotificationMode = when (this) {
|
|||
RustRoomNotificationMode.MUTE -> RoomNotificationMode.MUTE
|
||||
}
|
||||
|
||||
fun RustSuccessorRoom.map(): SuccessorRoom = SuccessorRoom(
|
||||
roomId = RoomId(roomId),
|
||||
reason = reason,
|
||||
)
|
||||
|
||||
/**
|
||||
* Map a RoomHero to a MatrixUser. There is not need to create a RoomHero type on the application side.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import org.matrix.rustcomponents.sdk.RoomHistoryVisibility
|
|||
import org.matrix.rustcomponents.sdk.RoomInfo
|
||||
import org.matrix.rustcomponents.sdk.RoomMember
|
||||
import org.matrix.rustcomponents.sdk.RoomNotificationMode
|
||||
import org.matrix.rustcomponents.sdk.RoomTombstoneInfo
|
||||
import org.matrix.rustcomponents.sdk.SuccessorRoom
|
||||
import uniffi.matrix_sdk_base.EncryptionState
|
||||
|
||||
fun aRustRoomInfo(
|
||||
|
|
@ -30,7 +30,6 @@ fun aRustRoomInfo(
|
|||
isDirect: Boolean = false,
|
||||
isPublic: Boolean = false,
|
||||
isSpace: Boolean = false,
|
||||
tombstone: RoomTombstoneInfo? = null,
|
||||
isFavourite: Boolean = false,
|
||||
canonicalAlias: String? = null,
|
||||
alternativeAliases: List<String> = listOf(),
|
||||
|
|
@ -54,6 +53,7 @@ fun aRustRoomInfo(
|
|||
roomCreator: UserId? = null,
|
||||
joinRule: JoinRule? = null,
|
||||
historyVisibility: RoomHistoryVisibility = RoomHistoryVisibility.Joined,
|
||||
successorRoom: SuccessorRoom? = null,
|
||||
) = RoomInfo(
|
||||
id = id,
|
||||
displayName = displayName,
|
||||
|
|
@ -64,7 +64,6 @@ fun aRustRoomInfo(
|
|||
isDirect = isDirect,
|
||||
isPublic = isPublic,
|
||||
isSpace = isSpace,
|
||||
tombstone = tombstone,
|
||||
isFavourite = isFavourite,
|
||||
canonicalAlias = canonicalAlias,
|
||||
alternativeAliases = alternativeAliases,
|
||||
|
|
@ -87,5 +86,6 @@ fun aRustRoomInfo(
|
|||
pinnedEventIds = pinnedEventIds,
|
||||
creator = roomCreator?.value,
|
||||
joinRule = joinRule,
|
||||
historyVisibility = historyVisibility
|
||||
historyVisibility = historyVisibility,
|
||||
successorRoom = successorRoom,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class RoomInfoMapperTest {
|
|||
isPublic = false,
|
||||
isSpace = false,
|
||||
joinRule = RustJoinRule.Invite,
|
||||
tombstone = null,
|
||||
successorRoom = null,
|
||||
isFavourite = false,
|
||||
canonicalAlias = A_ROOM_ALIAS.value,
|
||||
alternativeAliases = listOf(A_ROOM_ALIAS.value),
|
||||
|
|
@ -90,7 +90,6 @@ class RoomInfoMapperTest {
|
|||
isDirect = true,
|
||||
isEncrypted = true,
|
||||
isSpace = false,
|
||||
tombstone = null,
|
||||
isFavorite = false,
|
||||
joinRule = JoinRule.Invite,
|
||||
canonicalAlias = A_ROOM_ALIAS,
|
||||
|
|
@ -120,6 +119,7 @@ class RoomInfoMapperTest {
|
|||
numUnreadNotifications = 13L,
|
||||
numUnreadMentions = 14L,
|
||||
historyVisibility = RoomHistoryVisibility.Joined,
|
||||
successorRoom = null
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
@ -139,7 +139,7 @@ class RoomInfoMapperTest {
|
|||
isPublic = true,
|
||||
joinRule = null,
|
||||
isSpace = false,
|
||||
tombstone = null,
|
||||
successorRoom = null,
|
||||
isFavourite = true,
|
||||
canonicalAlias = null,
|
||||
alternativeAliases = emptyList(),
|
||||
|
|
@ -175,7 +175,7 @@ class RoomInfoMapperTest {
|
|||
isDirect = false,
|
||||
joinRule = null,
|
||||
isSpace = false,
|
||||
tombstone = null,
|
||||
successorRoom = null,
|
||||
isFavorite = true,
|
||||
canonicalAlias = null,
|
||||
alternativeAliases = emptyList<RoomAlias>().toPersistentList(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue