Make sure the selection in the plain text editor is inside the text bounds (#2959)

* Make sure the selection in the plain text editor is inside the text bounds

* Add changelog
This commit is contained in:
Jorge Martin Espinosa 2024-05-31 12:49:26 +02:00 committed by GitHub
parent a7a29e954d
commit 19b6b924d9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 2 deletions

1
changelog.d/2959.bugfix Normal file
View file

@ -0,0 +1 @@
Fix crash when restoring the selection values in the plain text editor.

View file

@ -90,13 +90,15 @@ fun MarkdownTextInput(
tag = TestTags.plainTextEditor.value // Needed for UI tests
setPadding(0)
setBackgroundColor(Color.TRANSPARENT)
setText(state.text.value())
val text = state.text.value()
setText(text)
inputType = InputType.TYPE_CLASS_TEXT or
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES or
InputType.TYPE_TEXT_FLAG_MULTI_LINE or
InputType.TYPE_TEXT_FLAG_AUTO_CORRECT
if (canUpdateState) {
setSelection(state.selection.first, state.selection.last)
val textRange = 0..text.length
setSelection(state.selection.first.coerceIn(textRange), state.selection.last.coerceIn(textRange))
setOnFocusChangeListener { _, hasFocus ->
state.hasFocus = hasFocus
}