Merge pull request #2112 from element-hq/feature/bma/renderStateWithoutChanges
Handle `MembershipChange.NONE` rendering in the timeline #2102
This commit is contained in:
commit
18d0569bbd
4 changed files with 34 additions and 2 deletions
1
changelog.d/2102.misc
Normal file
1
changelog.d/2102.misc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Handle `MembershipChange.NONE` rendering in the timeline.
|
||||||
|
|
@ -104,7 +104,20 @@ class RoomMembershipContentFormatter @Inject constructor(
|
||||||
} else {
|
} else {
|
||||||
sp.getString(R.string.state_event_room_knock_denied, senderDisplayName, userId.value)
|
sp.getString(R.string.state_event_room_knock_denied, senderDisplayName, userId.value)
|
||||||
}
|
}
|
||||||
else -> {
|
MembershipChange.NONE -> if (senderIsYou) {
|
||||||
|
sp.getString(R.string.state_event_room_none_by_you)
|
||||||
|
} else {
|
||||||
|
sp.getString(R.string.state_event_room_none, senderDisplayName)
|
||||||
|
}
|
||||||
|
MembershipChange.ERROR -> {
|
||||||
|
Timber.v("Filtering timeline item for room membership: $membershipContent")
|
||||||
|
null
|
||||||
|
}
|
||||||
|
MembershipChange.NOT_IMPLEMENTED -> {
|
||||||
|
Timber.v("Filtering timeline item for room membership: $membershipContent")
|
||||||
|
null
|
||||||
|
}
|
||||||
|
null -> {
|
||||||
Timber.v("Filtering timeline item for room membership: $membershipContent")
|
Timber.v("Filtering timeline item for room membership: $membershipContent")
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@
|
||||||
<string name="state_event_room_name_changed_by_you">"You changed the room name to: %1$s"</string>
|
<string name="state_event_room_name_changed_by_you">"You changed the room name to: %1$s"</string>
|
||||||
<string name="state_event_room_name_removed">"%1$s removed the room name"</string>
|
<string name="state_event_room_name_removed">"%1$s removed the room name"</string>
|
||||||
<string name="state_event_room_name_removed_by_you">"You removed the room name"</string>
|
<string name="state_event_room_name_removed_by_you">"You removed the room name"</string>
|
||||||
|
<string name="state_event_room_none">"%1$s made no changes"</string>
|
||||||
|
<string name="state_event_room_none_by_you">"You made no changes"</string>
|
||||||
<string name="state_event_room_reject">"%1$s rejected the invitation"</string>
|
<string name="state_event_room_reject">"%1$s rejected the invitation"</string>
|
||||||
<string name="state_event_room_reject_by_you">"You rejected the invitation"</string>
|
<string name="state_event_room_reject_by_you">"You rejected the invitation"</string>
|
||||||
<string name="state_event_room_remove">"%1$s removed %2$s"</string>
|
<string name="state_event_room_remove">"%1$s removed %2$s"</string>
|
||||||
|
|
|
||||||
|
|
@ -469,10 +469,26 @@ class DefaultRoomLastMessageFormatterTest {
|
||||||
assertThat(someoneDeniedYourKnock).isEqualTo("$otherName rejected your request to join")
|
assertThat(someoneDeniedYourKnock).isEqualTo("$otherName rejected your request to join")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Config(qualifiers = "en")
|
||||||
|
fun `Membership change - None`() {
|
||||||
|
val otherName = "Someone"
|
||||||
|
val youContent = RoomMembershipContent(A_USER_ID, MembershipChange.NONE)
|
||||||
|
val someoneContent = RoomMembershipContent(UserId("@someone_else:domain"), MembershipChange.NONE)
|
||||||
|
|
||||||
|
val youNoneRoomEvent = createRoomEvent(sentByYou = true, senderDisplayName = null, content = youContent)
|
||||||
|
val youNoneRoom = formatter.format(youNoneRoomEvent, false)
|
||||||
|
assertThat(youNoneRoom).isEqualTo("You made no changes")
|
||||||
|
|
||||||
|
val someoneNoneRoomEvent = createRoomEvent(sentByYou = false, senderDisplayName = otherName, content = someoneContent)
|
||||||
|
val someoneNoneRoom = formatter.format(someoneNoneRoomEvent, false)
|
||||||
|
assertThat(someoneNoneRoom).isEqualTo("$otherName made no changes")
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(qualifiers = "en")
|
@Config(qualifiers = "en")
|
||||||
fun `Membership change - others`() {
|
fun `Membership change - others`() {
|
||||||
val otherChanges = arrayOf(MembershipChange.NONE, MembershipChange.ERROR, MembershipChange.NOT_IMPLEMENTED)
|
val otherChanges = arrayOf(MembershipChange.ERROR, MembershipChange.NOT_IMPLEMENTED, null)
|
||||||
|
|
||||||
val results = otherChanges.map { change ->
|
val results = otherChanges.map { change ->
|
||||||
val content = RoomMembershipContent(A_USER_ID, change)
|
val content = RoomMembershipContent(A_USER_ID, change)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue