fix to update adapter for "edited messages" by system message

This will update the message when an edit was made on other devices.
So the system message will trigger that you are informed about a change. But instead to show the system message, you use it's information to immediately update the adapter.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2024-02-09 11:14:00 +01:00
parent 683f924556
commit 4e4cb26862
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B

View File

@ -3857,6 +3857,10 @@ class ChatActivity :
// delete poll system messages
chatMessageIterator.remove()
} else if (isEditMessage(currentMessage)) {
if (!chatMessageMap.containsKey(currentMessage.value.parentMessage!!.id)) {
setMessageAsEdited(currentMessage.value.parentMessage)
}
chatMessageIterator.remove()
}
}
@ -4464,6 +4468,17 @@ class ChatActivity :
adapter?.update(messageTemp)
}
private fun setMessageAsEdited(message: IMessage?) {
val messageTemp = message as ChatMessage
messageTemp.lastEditTimestamp = message.timestamp
messageTemp.isOneToOneConversation =
currentConversation?.type == ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL
messageTemp.activeUser = conversationUser
adapter?.update(messageTemp)
}
private fun updateAdapterForReaction(message: IMessage?) {
val messageTemp = message as ChatMessage