Add MatrixClient.resolveRoomAlias method.

This commit is contained in:
Benoit Marty
2024-04-15 20:09:09 +02:00
committed by Benoit Marty
parent bbb92bcc87
commit 0550da3e3b
3 changed files with 12 additions and 0 deletions

View File

@@ -98,4 +98,5 @@ interface MatrixClient : Closeable {
suspend fun trackRecentlyVisitedRoom(roomId: RoomId): Result<Unit>
suspend fun getRecentlyVisitedRooms(): Result<List<RoomId>>
suspend fun resolveRoomAlias(roomAlias: String): Result<RoomId>
}

View File

@@ -460,6 +460,12 @@ class RustMatrixClient(
}
}
override suspend fun resolveRoomAlias(roomAlias: String): Result<RoomId> = withContext(sessionDispatcher) {
runCatching {
client.resolveRoomAlias(roomAlias).let(::RoomId)
}
}
override fun syncService(): SyncService = rustSyncService
override fun sessionVerificationService(): SessionVerificationService = verificationService

View File

@@ -73,6 +73,7 @@ class FakeMatrixClient(
private val encryptionService: FakeEncryptionService = FakeEncryptionService(),
private val roomDirectoryService: RoomDirectoryService = FakeRoomDirectoryService(),
private val accountManagementUrlString: Result<String?> = Result.success(null),
private val resolveRoomAliasResult: (String) -> Result<RoomId> = { Result.success(A_ROOM_ID) },
) : MatrixClient {
var setDisplayNameCalled: Boolean = false
private set
@@ -276,6 +277,10 @@ class FakeMatrixClient(
return Result.success(Unit)
}
override suspend fun resolveRoomAlias(roomAlias: String): Result<RoomId> {
return resolveRoomAliasResult(roomAlias)
}
override suspend fun getRecentlyVisitedRooms(): Result<List<RoomId>> {
return Result.success(visitedRoomsId)
}