Use member display names in membership timeline item text (#2883)

* Use member display names in membership timeline item text
This commit is contained in:
Jorge Martin Espinosa 2024-05-21 10:26:11 +02:00 committed by GitHub
parent d2d835080e
commit 8bd9880c23
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 108 additions and 96 deletions

View file

@ -34,6 +34,7 @@ class RoomMembershipContentFormatter @Inject constructor(
): CharSequence? {
val userId = membershipContent.userId
val memberIsYou = matrixClient.isMe(userId)
val userDisplayNameOrId = membershipContent.userDisplayName ?: userId.value
return when (membershipContent.change) {
MembershipChange.JOINED -> if (memberIsYou) {
sp.getString(R.string.state_event_room_join_by_you)
@ -46,41 +47,41 @@ class RoomMembershipContentFormatter @Inject constructor(
sp.getString(R.string.state_event_room_leave, senderDisambiguatedDisplayName)
}
MembershipChange.BANNED, MembershipChange.KICKED_AND_BANNED -> if (senderIsYou) {
sp.getString(R.string.state_event_room_ban_by_you, userId.value)
sp.getString(R.string.state_event_room_ban_by_you, userDisplayNameOrId)
} else {
sp.getString(R.string.state_event_room_ban, senderDisambiguatedDisplayName, userId.value)
sp.getString(R.string.state_event_room_ban, senderDisambiguatedDisplayName, userDisplayNameOrId)
}
MembershipChange.UNBANNED -> if (senderIsYou) {
sp.getString(R.string.state_event_room_unban_by_you, userId.value)
sp.getString(R.string.state_event_room_unban_by_you, userDisplayNameOrId)
} else {
sp.getString(R.string.state_event_room_unban, senderDisambiguatedDisplayName, userId.value)
sp.getString(R.string.state_event_room_unban, senderDisambiguatedDisplayName, userDisplayNameOrId)
}
MembershipChange.KICKED -> if (senderIsYou) {
sp.getString(R.string.state_event_room_remove_by_you, userId.value)
sp.getString(R.string.state_event_room_remove_by_you, userDisplayNameOrId)
} else {
sp.getString(R.string.state_event_room_remove, senderDisambiguatedDisplayName, userId.value)
sp.getString(R.string.state_event_room_remove, senderDisambiguatedDisplayName, userDisplayNameOrId)
}
MembershipChange.INVITED -> if (senderIsYou) {
sp.getString(R.string.state_event_room_invite_by_you, userId.value)
sp.getString(R.string.state_event_room_invite_by_you, userDisplayNameOrId)
} else if (memberIsYou) {
sp.getString(R.string.state_event_room_invite_you, senderDisambiguatedDisplayName)
} else {
sp.getString(R.string.state_event_room_invite, senderDisambiguatedDisplayName, userId.value)
sp.getString(R.string.state_event_room_invite, senderDisambiguatedDisplayName, userDisplayNameOrId)
}
MembershipChange.INVITATION_ACCEPTED -> if (memberIsYou) {
sp.getString(R.string.state_event_room_invite_accepted_by_you)
} else {
sp.getString(R.string.state_event_room_invite_accepted, userId.value)
sp.getString(R.string.state_event_room_invite_accepted, userDisplayNameOrId)
}
MembershipChange.INVITATION_REJECTED -> if (memberIsYou) {
sp.getString(R.string.state_event_room_reject_by_you)
} else {
sp.getString(R.string.state_event_room_reject, userId.value)
sp.getString(R.string.state_event_room_reject, userDisplayNameOrId)
}
MembershipChange.INVITATION_REVOKED -> if (senderIsYou) {
sp.getString(R.string.state_event_room_third_party_revoked_invite_by_you, userId.value)
sp.getString(R.string.state_event_room_third_party_revoked_invite_by_you, userDisplayNameOrId)
} else {
sp.getString(R.string.state_event_room_third_party_revoked_invite, senderDisambiguatedDisplayName, userId.value)
sp.getString(R.string.state_event_room_third_party_revoked_invite, senderDisambiguatedDisplayName, userDisplayNameOrId)
}
MembershipChange.KNOCKED -> if (memberIsYou) {
sp.getString(R.string.state_event_room_knock_by_you)
@ -88,9 +89,9 @@ class RoomMembershipContentFormatter @Inject constructor(
sp.getString(R.string.state_event_room_knock, senderDisambiguatedDisplayName)
}
MembershipChange.KNOCK_ACCEPTED -> if (senderIsYou) {
sp.getString(R.string.state_event_room_knock_accepted_by_you, userId.value)
sp.getString(R.string.state_event_room_knock_accepted_by_you, userDisplayNameOrId)
} else {
sp.getString(R.string.state_event_room_knock_accepted, senderDisambiguatedDisplayName, userId.value)
sp.getString(R.string.state_event_room_knock_accepted, senderDisambiguatedDisplayName, userDisplayNameOrId)
}
MembershipChange.KNOCK_RETRACTED -> if (memberIsYou) {
sp.getString(R.string.state_event_room_knock_retracted_by_you)
@ -98,11 +99,11 @@ class RoomMembershipContentFormatter @Inject constructor(
sp.getString(R.string.state_event_room_knock_retracted, senderDisambiguatedDisplayName)
}
MembershipChange.KNOCK_DENIED -> if (senderIsYou) {
sp.getString(R.string.state_event_room_knock_denied_by_you, userId.value)
sp.getString(R.string.state_event_room_knock_denied_by_you, userDisplayNameOrId)
} else if (memberIsYou) {
sp.getString(R.string.state_event_room_knock_denied_you, senderDisambiguatedDisplayName)
} else {
sp.getString(R.string.state_event_room_knock_denied, senderDisambiguatedDisplayName, userId.value)
sp.getString(R.string.state_event_room_knock_denied, senderDisambiguatedDisplayName, userDisplayNameOrId)
}
MembershipChange.NONE -> if (senderIsYou) {
sp.getString(R.string.state_event_room_none_by_you)