From d6d46d1c21b36c4dbe6cab27852ddfaee49f2cc5 Mon Sep 17 00:00:00 2001 From: ariskotsomitopoulos Date: Thu, 21 Oct 2021 19:41:35 +0300 Subject: [PATCH] Avoid using setRawInputType --- .../app/features/form/FormEditTextItem.kt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/form/FormEditTextItem.kt b/vector/src/main/java/im/vector/app/features/form/FormEditTextItem.kt index 93973c1bdf..657c4c1b94 100644 --- a/vector/src/main/java/im/vector/app/features/form/FormEditTextItem.kt +++ b/vector/src/main/java/im/vector/app/features/form/FormEditTextItem.kt @@ -130,12 +130,18 @@ abstract class FormEditTextItem : VectorEpoxyModel() { * especially when we want to use a single line, we set the InputType to InputType.TYPE_CLASS_TEXT * while the default for the EditText is InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_MULTI_LINE */ - private fun configureInputType(holder: Holder) = holder.textInputEditText.setRawInputType( - inputType ?: when (singleLine) { - true -> InputType.TYPE_CLASS_TEXT - false -> InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_MULTI_LINE - } - ) + private fun configureInputType(holder: Holder) { + val newInputType = + inputType ?: when (singleLine) { + true -> InputType.TYPE_CLASS_TEXT + false -> InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_FLAG_MULTI_LINE + } + + // This is a must in order to avoid extreme lag in some devices, on fast typing + if(holder.textInputEditText.inputType != newInputType){ + holder.textInputEditText.inputType = newInputType + } + } /** * Configure the imeOptions of the EditText, when imeOptions are not defined by the developer