mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-09 13:59:48 +01:00
use mention chips in edit text
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
parent
c4b3555d7f
commit
85d996622d
@ -938,11 +938,34 @@ class MessageInputFragment : Fragment() {
|
|||||||
binding.fragmentMessageInputView.attachmentButton.visibility = View.GONE
|
binding.fragmentMessageInputView.attachmentButton.visibility = View.GONE
|
||||||
binding.fragmentMessageInputView.editMessageButton.setOnClickListener {
|
binding.fragmentMessageInputView.editMessageButton.setOnClickListener {
|
||||||
|
|
||||||
val inputEditText = binding.fragmentMessageInputView.inputEditText!!.text.toString()
|
val inputEditText = binding.fragmentMessageInputView.inputEditText!!.editableText
|
||||||
|
|
||||||
|
val mentionSpans = inputEditText.getSpans(
|
||||||
|
0,
|
||||||
|
inputEditText.length,
|
||||||
|
Spans.MentionChipSpan::class.java
|
||||||
|
)
|
||||||
|
var mentionSpan: Spans.MentionChipSpan
|
||||||
|
for (i in mentionSpans.indices) {
|
||||||
|
mentionSpan = mentionSpans[i]
|
||||||
|
var mentionId = mentionSpan.id
|
||||||
|
val shouldQuote = mentionId.contains(" ") ||
|
||||||
|
mentionId.contains("@") ||
|
||||||
|
mentionId.startsWith("guest/") ||
|
||||||
|
mentionId.startsWith("group/") ||
|
||||||
|
mentionId.startsWith("email/") ||
|
||||||
|
mentionId.startsWith("team/")
|
||||||
|
if (shouldQuote) {
|
||||||
|
mentionId = "\"" + mentionId + "\""
|
||||||
|
}
|
||||||
|
inputEditText.replace(inputEditText.getSpanStart(mentionSpan), inputEditText.getSpanEnd(mentionSpan),
|
||||||
|
"@$mentionId")
|
||||||
|
}
|
||||||
|
|
||||||
val message = chatActivity.messageInputViewModel.getEditChatMessage.value as ChatMessage
|
val message = chatActivity.messageInputViewModel.getEditChatMessage.value as ChatMessage
|
||||||
if (message.message!!.trim() != inputEditText.trim()) {
|
if (message.message!!.trim() != inputEditText.trim()) {
|
||||||
val editedMessage = messageUtils.processEditMessageParameters(message.messageParameters!!, message,
|
val editedMessage = messageUtils.processEditMessageParameters(message.messageParameters!!, message,
|
||||||
inputEditText)
|
inputEditText.toString())
|
||||||
editMessageAPI(message, editedMessage.toString())
|
editMessageAPI(message, editedMessage.toString())
|
||||||
}
|
}
|
||||||
clearEditUI()
|
clearEditUI()
|
||||||
|
Loading…
Reference in New Issue
Block a user