diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt index 568f4cf9e7..daf401efc3 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt @@ -232,6 +232,7 @@ class AutoCompleter @AssistedInject constructor( private fun insertMatrixItemIntoRichTextEditor(editorEditText: EditorEditText, matrixItem: MatrixItem) { if (matrixItem is MatrixItem.EveryoneInRoomItem) { editorEditText.replaceTextSuggestion(matrixItem.displayName) + // Note: not using editorEditText.insertAtRoomMentionAtSuggestion() since we want to keep the existing look and feel of the mention for @room. return } @@ -253,7 +254,7 @@ class AutoCompleter @AssistedInject constructor( matrixItem.getBestName() } - editorEditText.setLinkSuggestion(url = permalink, text = linkText) + editorEditText.insertMentionAtSuggestion(url = permalink, text = linkText) } private fun insertMatrixItemIntoEditable(editText: EditText, editable: Editable, firstChar: Char, matrixItem: MatrixItem) { diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt index 1b999b65c8..b0923885e8 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt @@ -105,10 +105,10 @@ internal class RichTextComposerLayout @JvmOverloads constructor( override val attachmentButton: ImageButton get() = views.attachmentButton - val richTextEditText: EditText get() = - views.richTextComposerEditText - val plainTextEditText: EditText get() = - views.plainTextComposerEditText + val richTextEditText: EditText + get() = views.richTextComposerEditText + val plainTextEditText: EditText + get() = views.plainTextComposerEditText var pillDisplayHandler: PillDisplayHandler? = null @@ -237,14 +237,16 @@ internal class RichTextComposerLayout @JvmOverloads constructor( views.composerEditTextOuterBorder.background = borderShapeDrawable setupRichTextMenu() - views.richTextComposerEditText.mentionDisplayHandler = object : MentionDisplayHandler { - override fun resolveMentionDisplay(text: String, url: String): TextDisplay = - pillDisplayHandler?.resolveMentionDisplay(text, url) ?: TextDisplay.Plain - - override fun resolveAtRoomMentionDisplay(): TextDisplay = - pillDisplayHandler?.resolveAtRoomMentionDisplay() ?: TextDisplay.Plain - } + views.richTextComposerEditText.updateStyle( + styleConfig = views.richTextComposerEditText.styleConfig, + mentionDisplayHandler = object : MentionDisplayHandler { + override fun resolveMentionDisplay(text: String, url: String): TextDisplay = + pillDisplayHandler?.resolveMentionDisplay(text, url) ?: TextDisplay.Plain + override fun resolveAtRoomMentionDisplay(): TextDisplay = + pillDisplayHandler?.resolveAtRoomMentionDisplay() ?: TextDisplay.Plain + } + ) updateTextFieldBorder(isFullScreen) }