Sort the room member list and display member roles (#2412)
* Sort the room member list and display member roles --------- Co-authored-by: ElementBot <benoitm+elementbot@element.io>
This commit is contained in:
parent
4f4a73fe64
commit
0a6f00e9df
22 changed files with 235 additions and 33 deletions
|
|
@ -19,6 +19,7 @@ package io.element.android.libraries.matrix.impl.room.member
|
|||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.room.RoomMember
|
||||
import io.element.android.libraries.matrix.api.room.RoomMembershipState
|
||||
import uniffi.matrix_sdk.RoomMemberRole
|
||||
import org.matrix.rustcomponents.sdk.MembershipState as RustMembershipState
|
||||
import org.matrix.rustcomponents.sdk.RoomMember as RustRoomMember
|
||||
|
||||
|
|
@ -33,9 +34,17 @@ object RoomMemberMapper {
|
|||
it.powerLevel(),
|
||||
it.normalizedPowerLevel(),
|
||||
it.isIgnored(),
|
||||
mapRole(it.suggestedRoleForPowerLevel())
|
||||
)
|
||||
}
|
||||
|
||||
fun mapRole(role: RoomMemberRole): RoomMember.Role =
|
||||
when (role) {
|
||||
RoomMemberRole.ADMINISTRATOR -> RoomMember.Role.ADMIN
|
||||
RoomMemberRole.MODERATOR -> RoomMember.Role.MODERATOR
|
||||
RoomMemberRole.USER -> RoomMember.Role.USER
|
||||
}
|
||||
|
||||
fun mapMembership(membershipState: RustMembershipState): RoomMembershipState =
|
||||
when (membershipState) {
|
||||
RustMembershipState.BAN -> RoomMembershipState.BAN
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import org.matrix.rustcomponents.sdk.NoPointer
|
|||
import org.matrix.rustcomponents.sdk.Room
|
||||
import org.matrix.rustcomponents.sdk.RoomMember
|
||||
import org.matrix.rustcomponents.sdk.RoomMembersIterator
|
||||
import uniffi.matrix_sdk.RoomMemberRole
|
||||
|
||||
class RoomMemberListFetcherTest {
|
||||
@Test
|
||||
|
|
@ -268,6 +269,7 @@ class FakeRustRoomMember(
|
|||
private val membership: MembershipState = MembershipState.JOIN,
|
||||
private val isNameAmbiguous: Boolean = false,
|
||||
private val powerLevel: Long = 0L,
|
||||
private val role: RoomMemberRole = RoomMemberRole.USER,
|
||||
) : RoomMember(NoPointer) {
|
||||
override fun userId(): String {
|
||||
return userId.value
|
||||
|
|
@ -300,4 +302,8 @@ class FakeRustRoomMember(
|
|||
override fun isIgnored(): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun suggestedRoleForPowerLevel(): RoomMemberRole {
|
||||
return role
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue