From 9347de3fad007e1ceff363d5e69e9db5616ebe76 Mon Sep 17 00:00:00 2001 From: Yoan Pintas Date: Tue, 2 May 2023 15:28:31 +0200 Subject: [PATCH] Improve message rendering when editing (#8377) --- changelog.d/748.bugfix | 1 + .../home/room/detail/composer/MessageComposerFragment.kt | 8 ++++---- .../home/room/detail/composer/PlainTextComposerLayout.kt | 8 +++++++- 3 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 changelog.d/748.bugfix diff --git a/changelog.d/748.bugfix b/changelog.d/748.bugfix new file mode 100644 index 0000000000..cc33be0033 --- /dev/null +++ b/changelog.d/748.bugfix @@ -0,0 +1 @@ +User pills get lost at message editing \ No newline at end of file diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerFragment.kt index 28c8757e6c..d9459d259a 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerFragment.kt @@ -205,10 +205,10 @@ class MessageComposerFragment : VectorBaseFragment(), A return@onEach } when (mode) { - is SendMode.Regular -> renderRegularMode(mode.text.toString()) - is SendMode.Edit -> renderSpecialMode(MessageComposerMode.Edit(mode.timelineEvent, mode.text.toString())) - is SendMode.Quote -> renderSpecialMode(MessageComposerMode.Quote(mode.timelineEvent, mode.text.toString())) - is SendMode.Reply -> renderSpecialMode(MessageComposerMode.Reply(mode.timelineEvent, mode.text.toString())) + is SendMode.Regular -> renderRegularMode(mode.text) + is SendMode.Edit -> renderSpecialMode(MessageComposerMode.Edit(mode.timelineEvent, mode.text)) + is SendMode.Quote -> renderSpecialMode(MessageComposerMode.Quote(mode.timelineEvent, mode.text)) + is SendMode.Reply -> renderSpecialMode(MessageComposerMode.Reply(mode.timelineEvent, mode.text)) is SendMode.Voice -> renderVoiceMessageMode(mode.text) } } diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/PlainTextComposerLayout.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/PlainTextComposerLayout.kt index cf127d834f..5529265d54 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/PlainTextComposerLayout.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/PlainTextComposerLayout.kt @@ -209,7 +209,13 @@ class PlainTextComposerLayout @JvmOverloads constructor( avatarRenderer.render(event.senderInfo.toMatrixItem(), views.composerRelatedMessageAvatar) - views.composerEditText.setText(defaultContent) + val content = if (specialMode is MessageComposerMode.Edit) { + formattedBody ?: defaultContent + } else { + defaultContent + } + + views.composerEditText.setText(content) expand { // need to do it here also when not using quick reply