From 64d1955325ff33c60da03ee94d2a1da24713be42 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 23 Jun 2022 07:56:44 +0200 Subject: [PATCH] Prevent crash --- .../java/eu/faircode/email/FixedEditText.java | 21 +++++++++++++++++++ .../java/eu/faircode/email/FixedTextView.java | 21 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/FixedEditText.java b/app/src/main/java/eu/faircode/email/FixedEditText.java index 03f482be68..5dc201645b 100644 --- a/app/src/main/java/eu/faircode/email/FixedEditText.java +++ b/app/src/main/java/eu/faircode/email/FixedEditText.java @@ -23,6 +23,7 @@ import android.content.Context; import android.graphics.Canvas; import android.os.Build; import android.util.AttributeSet; +import android.view.ActionMode; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.textclassifier.TextClassifier; @@ -270,6 +271,26 @@ public class FixedEditText extends AppCompatEditText { } } + @Override + public ActionMode startActionMode(ActionMode.Callback callback) { + try { + return super.startActionMode(callback); + } catch (Throwable ex) { + Log.e(ex); + return null; + } + } + + @Override + public ActionMode startActionMode(ActionMode.Callback callback, int type) { + try { + return super.startActionMode(callback, type); + } catch (Throwable ex) { + Log.e(ex); + return null; + } + } + @NonNull @Override @RequiresApi(api = Build.VERSION_CODES.O) diff --git a/app/src/main/java/eu/faircode/email/FixedTextView.java b/app/src/main/java/eu/faircode/email/FixedTextView.java index e53649cf3e..2db0a5680a 100644 --- a/app/src/main/java/eu/faircode/email/FixedTextView.java +++ b/app/src/main/java/eu/faircode/email/FixedTextView.java @@ -29,6 +29,7 @@ import android.text.Selection; import android.text.Spannable; import android.text.Spanned; import android.util.AttributeSet; +import android.view.ActionMode; import android.view.KeyEvent; import android.view.MotionEvent; @@ -351,6 +352,26 @@ public class FixedTextView extends AppCompatTextView { } } + @Override + public ActionMode startActionMode(ActionMode.Callback callback) { + try { + return super.startActionMode(callback); + } catch (Throwable ex) { + Log.e(ex); + return null; + } + } + + @Override + public ActionMode startActionMode(ActionMode.Callback callback, int type) { + try { + return super.startActionMode(callback, type); + } catch (Throwable ex) { + Log.e(ex); + return null; + } + } + @Override public void setText(CharSequence text, BufferType type) { try {