From de4a7a52b1cab94664a99556980ea86eca610b04 Mon Sep 17 00:00:00 2001 From: Tomek Zawadzki Date: Thu, 30 Jan 2025 21:11:02 +0100 Subject: [PATCH] Eliminate `setText` call in `applyNewStyles` on Android --- .../livemarkdown/MarkdownTextInputDecoratorView.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/com/expensify/livemarkdown/MarkdownTextInputDecoratorView.java b/android/src/main/java/com/expensify/livemarkdown/MarkdownTextInputDecoratorView.java index b7ab2aa0..0326ac38 100644 --- a/android/src/main/java/com/expensify/livemarkdown/MarkdownTextInputDecoratorView.java +++ b/android/src/main/java/com/expensify/livemarkdown/MarkdownTextInputDecoratorView.java @@ -4,6 +4,8 @@ import android.content.Context; import android.content.res.AssetManager; +import android.text.Editable; +import android.text.SpannableStringBuilder; import android.text.TextWatcher; import android.util.AttributeSet; @@ -93,11 +95,11 @@ protected void setParserId(int parserId) { } protected void applyNewStyles() { - if (mReactEditText != null) { - int selectionStart = mReactEditText.getSelectionStart(); - int selectionEnd = mReactEditText.getSelectionEnd(); - mReactEditText.setText(mReactEditText.getText()); // trigger update - mReactEditText.setSelection(selectionStart, selectionEnd); + if (mReactEditText != null && mMarkdownUtils != null) { + Editable editable = mReactEditText.getText(); + if (editable instanceof SpannableStringBuilder ssb) { + mMarkdownUtils.applyMarkdownFormatting(ssb); + } } } }