always use getText().insert for adding pills

This commit is contained in:
David Langley 2023-06-09 14:58:17 +01:00
parent 3157a35b74
commit f3db4a857a
1 changed files with 7 additions and 8 deletions

View File

@ -808,15 +808,14 @@ class MessageComposerFragment : VectorBaseFragment<FragmentComposerBinding>(), A
)
append(if (startToCompose) ": " else " ")
}
if (startToCompose) {
if (displayName.startsWith("/")) {
if (startToCompose && displayName.startsWith("/")) {
// Ensure displayName will not be interpreted as a Slash command
composer.editText.append("\\")
}
composer.editText.append(pill)
} else {
composer.editText.text?.insert(composer.editText.selectionStart, pill)
}
// Always use EditText.getText().insert for adding pills as TextView.append doesn't appear
// to upgrade to BufferType.Spannable as hinted at in the docs:
// https://developer.android.com/reference/android/widget/TextView#append(java.lang.CharSequence)
composer.editText.text.insert(composer.editText.selectionStart, pill)
}
focusComposerAndShowKeyboard()
}