pending room : use RoomPreview internally

This commit is contained in:
ganfra 2024-11-15 10:52:12 +01:00
parent 2ef8bd33ef
commit 7937c6d2a0
2 changed files with 5 additions and 6 deletions

View file

@ -10,14 +10,13 @@ package io.element.android.libraries.matrix.impl.room
import io.element.android.libraries.matrix.api.core.RoomId 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.SessionId
import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.PendingRoom
import org.matrix.rustcomponents.sdk.Room import org.matrix.rustcomponents.sdk.RoomPreview
class RustPendingRoom( class RustPendingRoom(
override val sessionId: SessionId, override val sessionId: SessionId,
private val inner: Room, override val roomId: RoomId,
private val inner: RoomPreview,
) : PendingRoom { ) : PendingRoom {
override val roomId = RoomId(inner.id())
override suspend fun leave(): Result<Unit> = runCatching { override suspend fun leave(): Result<Unit> = runCatching {
inner.leave() inner.leave()
} }

View file

@ -139,14 +139,14 @@ class RustRoomFactory(
return@withContext null return@withContext null
} }
val innerRoom = try { val innerRoom = try {
// TODO use new method when available, for now it'll fail for knocked rooms roomListItem.previewRoom(via = emptyList())
roomListItem.invitedRoom()
} catch (e: RoomListException) { } catch (e: RoomListException) {
Timber.e(e, "Failed to get pending room for $roomId") Timber.e(e, "Failed to get pending room for $roomId")
return@withContext null return@withContext null
} }
RustPendingRoom( RustPendingRoom(
sessionId = sessionId, sessionId = sessionId,
roomId = roomId,
inner = innerRoom, inner = innerRoom,
) )
} }