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
|
|
@ -27,7 +27,17 @@ data class RoomMember(
|
|||
val powerLevel: Long,
|
||||
val normalizedPowerLevel: Long,
|
||||
val isIgnored: Boolean,
|
||||
val role: Role,
|
||||
) {
|
||||
/**
|
||||
* Role of the RoomMember, based on its [powerLevel].
|
||||
*/
|
||||
enum class Role {
|
||||
ADMIN,
|
||||
MODERATOR,
|
||||
USER
|
||||
}
|
||||
|
||||
/**
|
||||
* Disambiguated display name for the RoomMember.
|
||||
* If the display name is null, the user ID is returned.
|
||||
|
|
@ -49,6 +59,10 @@ enum class RoomMembershipState {
|
|||
LEAVE
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the best name value to display for the RoomMember.
|
||||
* If the [RoomMember.displayName] is present and not empty it'll be used, otherwise the [RoomMember.userId] will be used.
|
||||
*/
|
||||
fun RoomMember.getBestName(): String {
|
||||
return displayName?.takeIf { it.isNotEmpty() } ?: userId.value
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,5 +24,5 @@ import kotlinx.parcelize.Parcelize
|
|||
data class MatrixUser(
|
||||
val userId: UserId,
|
||||
val displayName: String? = null,
|
||||
val avatarUrl: String? = null
|
||||
val avatarUrl: String? = null,
|
||||
) : Parcelable
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue