Merge remote-tracking branch 'origin/develop' into

feature/fre/start_chat_with_matrix_id
This commit is contained in:
Florian Renaud 2023-04-05 10:16:33 +02:00
commit eef1eea2a8
68 changed files with 1157 additions and 187 deletions

View file

@ -34,13 +34,18 @@ class FakeMatrixRoom(
override val displayName: String = "",
override val topic: String? = null,
override val avatarUrl: String? = null,
override val members: List<RoomMember> = emptyList(),
override val isEncrypted: Boolean = false,
override val alias: String? = null,
override val alternativeAliases: List<String> = emptyList(),
private val members: List<RoomMember> = emptyList(),
private val matrixTimeline: MatrixTimeline = FakeMatrixTimeline(),
) : MatrixRoom {
private var fetchMemberResult: Result<Unit> = Result.success(Unit)
var areMembersFetched: Boolean = false
private set
override fun syncUpdateFlow(): Flow<Long> {
return emptyFlow()
}
@ -50,7 +55,11 @@ class FakeMatrixRoom(
}
override suspend fun fetchMembers(): Result<Unit> {
return Result.success(Unit)
return fetchMemberResult.also { result ->
if (result.isSuccess) {
areMembersFetched = true
}
}
}
override suspend fun userDisplayName(userId: String): Result<String?> {
@ -61,6 +70,18 @@ class FakeMatrixRoom(
TODO("Not yet implemented")
}
override suspend fun members(): List<RoomMember> {
return members
}
override suspend fun memberCount(): Int {
if (fetchMemberResult.isSuccess) {
return members.count()
} else {
throw fetchMemberResult.exceptionOrNull()!!
}
}
override suspend fun sendMessage(message: String): Result<Unit> {
delay(100)
return Result.success(Unit)
@ -94,4 +115,8 @@ class FakeMatrixRoom(
}
override fun close() = Unit
fun givenFetchMemberResult(result: Result<Unit>) {
fetchMemberResult = result
}
}