From 32c9a78f6c166fee3dbc47943e27d4f2fc21996e Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 24 Nov 2023 17:14:51 +0200 Subject: [PATCH] support edits without m.new_content --- .../sdk/api/session/room/timeline/TimelineEvent.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt index 94d4026f..5e3166c5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/timeline/TimelineEvent.kt @@ -35,12 +35,14 @@ import org.matrix.android.sdk.api.session.room.model.ReadReceipt import org.matrix.android.sdk.api.session.room.model.message.MessageBeaconInfoContent import org.matrix.android.sdk.api.session.room.model.message.MessageBeaconLocationDataContent import org.matrix.android.sdk.api.session.room.model.message.MessageContent +import org.matrix.android.sdk.api.session.room.model.message.MessageContent.Companion.MSG_TYPE_JSON_KEY import org.matrix.android.sdk.api.session.room.model.message.MessageContentWithFormattedBody import org.matrix.android.sdk.api.session.room.model.message.MessageEndPollContent import org.matrix.android.sdk.api.session.room.model.message.MessageFormat import org.matrix.android.sdk.api.session.room.model.message.MessagePollContent import org.matrix.android.sdk.api.session.room.model.message.MessageStickerContent import org.matrix.android.sdk.api.session.room.model.message.MessageTextContent +import org.matrix.android.sdk.api.session.room.model.message.MessageType import org.matrix.android.sdk.api.session.room.model.relation.RelationDefaultContent import org.matrix.android.sdk.api.session.room.sender.SenderInfo import org.matrix.android.sdk.api.util.ContentUtils @@ -158,9 +160,13 @@ fun TimelineEvent.getLastMessageContent(): MessageContent? { } } -//Changed for Circles +//Changed for Circles to support edits without m.new_content fun TimelineEvent.getLastEditNewContent(): Content? { - val lastContent = annotations?.editSummary?.latestEdit?.getClearContent()?.toModel<MessageContent>()?.newContent + val model = annotations?.editSummary?.latestEdit?.getClearContent()?.toModel<MessageContent>() ?: return null + val lastContent = model.newContent ?: mapOf( + MSG_TYPE_JSON_KEY to MessageType.MSGTYPE_TEXT, + "body" to model.body + ) return if (isReply()) { val previousFormattedBody = root.getClearContent().toModel<MessageTextContent>()?.formattedBody if (previousFormattedBody?.isNotEmpty() == true) { -- GitLab