From d7162cfb03f72ba5e93905c1b4b2e22c56988c07 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 21 Mar 2022 12:18:18 +0100 Subject: [PATCH] Use span for text to be translated --- .../java/eu/faircode/email/FragmentCompose.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 5def9e937f..5118072ec9 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -73,6 +73,7 @@ import android.text.Spanned; import android.text.TextUtils; import android.text.TextWatcher; import android.text.method.ArrowKeyMovementMethod; +import android.text.style.BackgroundColorSpan; import android.text.style.BulletSpan; import android.text.style.CharacterStyle; import android.text.style.ImageSpan; @@ -2145,12 +2146,23 @@ public class FragmentCompose extends FragmentBase { args.putString("text", text); new SimpleTask() { + private Object highlightSpan; + @Override protected void onPreExecute(Bundle args) { - etBody.setSelection(paragraph.first, paragraph.second); + int textColorHighlight = Helper.resolveColor(getContext(), android.R.attr.textColorHighlight); + highlightSpan = new BackgroundColorSpan(textColorHighlight); + etBody.getText().setSpan(highlightSpan, paragraph.first, paragraph.second, + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE | Spanned.SPAN_COMPOSING); ToastEx.makeText(context, R.string.title_translating, Toast.LENGTH_SHORT).show(); } + @Override + protected void onPostExecute(Bundle args) { + if (highlightSpan != null) + etBody.getText().removeSpan(highlightSpan); + } + @Override protected DeepL.Translation onExecute(Context context, Bundle args) throws Throwable { String target = args.getString("target");