From 7f81c1c7d36a7d0a7c042939c00e354a40fbd654 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 20 Feb 2024 14:52:47 +0100 Subject: [PATCH] Mark pasted text as inserted --- .../java/eu/faircode/email/EditTextCompose.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/EditTextCompose.java b/app/src/main/java/eu/faircode/email/EditTextCompose.java index 949af95c58..bdedd5efd4 100644 --- a/app/src/main/java/eu/faircode/email/EditTextCompose.java +++ b/app/src/main/java/eu/faircode/email/EditTextCompose.java @@ -369,7 +369,10 @@ public class EditTextCompose extends FixedEditText { int start = getSelectionStart(); if (start < 0) start = 0; - getText().insert(start, text.toString()); + String plain = text.toString(); + getText().insert(start, plain); + + StyleHelper.markAsInserted(getText(), start, start + plain.length()); return true; } @@ -611,6 +614,8 @@ public class EditTextCompose extends FixedEditText { getText().insert(start, ssb); else getText().replace(start, end, ssb); + + StyleHelper.markAsInserted(getText(), start, start + ssb.length()); } catch (Throwable ex) { Log.e(ex); /* @@ -633,6 +638,14 @@ public class EditTextCompose extends FixedEditText { }); return true; + } else if (id == android.R.id.pasteAsPlainText) { + int start = getSelectionStart(); + int length = length(); + boolean pasted = super.onTextContextMenuItem(id); + int end = start + length() - length; + if (pasted && start >= 0 && end > start) + StyleHelper.markAsInserted(getText(), start, end); + return pasted; } else if (id == android.R.id.undo && undo_manager) { canUndo = true; return true;