From 637c97e2da0627a803c76ff007bb887983ae7e02 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 13 Sep 2020 08:59:11 +0200 Subject: [PATCH] Workaround word iterator bug Android <= M --- .../java/eu/faircode/email/FixedTextView.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/FixedTextView.java b/app/src/main/java/eu/faircode/email/FixedTextView.java index 54757560a9..dce8e8e9b7 100644 --- a/app/src/main/java/eu/faircode/email/FixedTextView.java +++ b/app/src/main/java/eu/faircode/email/FixedTextView.java @@ -24,6 +24,7 @@ import android.content.ClipboardManager; import android.content.Context; import android.graphics.Canvas; import android.graphics.Rect; +import android.os.Build; import android.text.Selection; import android.text.Spannable; import android.text.Spanned; @@ -107,6 +108,20 @@ public class FixedTextView extends AppCompatTextView { } } + @Override + public boolean dispatchTouchEvent(MotionEvent event) { + // https://issuetracker.google.com/issues/37068143 + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M && + hasSelection() && + event.getActionMasked() == MotionEvent.ACTION_DOWN) { + CharSequence text = getText(); + setText(null); + setText(text); + } + + return super.dispatchTouchEvent(event); + } + @Override public boolean onTouchEvent(MotionEvent event) { try {