timeline : allow rendering m.room.pinned_events
This commit is contained in:
parent
aca6f9e665
commit
5d2abd0350
6 changed files with 46 additions and 10 deletions
|
|
@ -80,11 +80,13 @@ class StateContentFormatter @Inject constructor(
|
|||
else -> sp.getString(R.string.state_event_room_topic_removed, senderDisambiguatedDisplayName)
|
||||
}
|
||||
}
|
||||
OtherState.RoomPinnedEvents -> {
|
||||
when {
|
||||
//TODO manage all cases when available
|
||||
senderIsYou -> sp.getString(R.string.state_event_room_pinned_events_changed_by_you)
|
||||
else -> sp.getString(R.string.state_event_room_pinned_events_changed, senderDisambiguatedDisplayName)
|
||||
is OtherState.RoomPinnedEvents -> when (renderingMode) {
|
||||
RenderingMode.RoomList -> {
|
||||
Timber.v("Filtering timeline item for room state change: $content")
|
||||
null
|
||||
}
|
||||
RenderingMode.Timeline -> {
|
||||
formatRoomPinnedEvents(content, senderIsYou, senderDisambiguatedDisplayName)
|
||||
}
|
||||
}
|
||||
is OtherState.Custom -> when (renderingMode) {
|
||||
|
|
@ -215,4 +217,23 @@ class StateContentFormatter @Inject constructor(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun formatRoomPinnedEvents(
|
||||
content: OtherState.RoomPinnedEvents,
|
||||
senderIsYou: Boolean,
|
||||
senderDisambiguatedDisplayName: String
|
||||
) = when (content.change) {
|
||||
OtherState.RoomPinnedEvents.Change.ADDED -> when {
|
||||
senderIsYou -> sp.getString(R.string.state_event_room_pinned_events_pinned_by_you)
|
||||
else -> sp.getString(R.string.state_event_room_pinned_events_pinned, senderDisambiguatedDisplayName)
|
||||
}
|
||||
OtherState.RoomPinnedEvents.Change.REMOVED -> when {
|
||||
senderIsYou -> sp.getString(R.string.state_event_room_pinned_events_unpinned_by_you)
|
||||
else -> sp.getString(R.string.state_event_room_pinned_events_unpinned, senderDisambiguatedDisplayName)
|
||||
}
|
||||
OtherState.RoomPinnedEvents.Change.CHANGED -> when {
|
||||
senderIsYou -> sp.getString(R.string.state_event_room_pinned_events_changed_by_you)
|
||||
else -> sp.getString(R.string.state_event_room_pinned_events_changed, senderDisambiguatedDisplayName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -660,7 +660,7 @@ class DefaultRoomLastMessageFormatterTest {
|
|||
OtherState.RoomGuestAccess,
|
||||
OtherState.RoomHistoryVisibility,
|
||||
OtherState.RoomJoinRules,
|
||||
OtherState.RoomPinnedEvents,
|
||||
OtherState.RoomPinnedEvents(OtherState.RoomPinnedEvents.Change.CHANGED),
|
||||
OtherState.RoomUserPowerLevels(emptyMap()),
|
||||
OtherState.RoomServerAcl,
|
||||
OtherState.RoomTombstone,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue