From 0ad2fd8f1390c305ba915612a43e650a688bb2e4 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 26 Feb 2020 23:26:18 +0100 Subject: [PATCH] Prevent crash --- .../eu/faircode/email/ActivitySignature.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivitySignature.java b/app/src/main/java/eu/faircode/email/ActivitySignature.java index 2ed8ade4d2..8d0c4b7d8c 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySignature.java +++ b/app/src/main/java/eu/faircode/email/ActivitySignature.java @@ -270,15 +270,19 @@ public class ActivitySignature extends ActivityBase { } private void onImageSelected(Uri uri) { - getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION); - - int start = etText.getSelectionStart(); - SpannableStringBuilder ssb = new SpannableStringBuilder(etText.getText()); - ssb.insert(start, " "); - ImageSpan is = new ImageSpan(getDrawableByUri(this, uri), uri.toString(), ImageSpan.ALIGN_BASELINE); - ssb.setSpan(is, start, start + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); - etText.setText(ssb); - etText.setSelection(start + 1); + try { + getContentResolver().takePersistableUriPermission(uri, Intent.FLAG_GRANT_READ_URI_PERMISSION); + + int start = etText.getSelectionStart(); + SpannableStringBuilder ssb = new SpannableStringBuilder(etText.getText()); + ssb.insert(start, " "); + ImageSpan is = new ImageSpan(getDrawableByUri(this, uri), uri.toString(), ImageSpan.ALIGN_BASELINE); + ssb.setSpan(is, start, start + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + etText.setText(ssb); + etText.setSelection(start + 1); + } catch (Throwable ex) { + Log.unexpectedError(getSupportFragmentManager(), ex); + } } static Drawable getDrawableByUri(Context context, Uri uri) {