From 71ff8bc7aa09ea9e220300b2944fdac924c48cc2 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Sun, 7 Jan 2024 10:50:52 +0100 Subject: [PATCH] don't copy if selected text is null, fixes #390 --- .../openboard/inputmethod/latin/RichInputConnection.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/RichInputConnection.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/RichInputConnection.java index ef1f21721..c5cd0f7a7 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/RichInputConnection.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/RichInputConnection.java @@ -650,12 +650,14 @@ public final class RichInputConnection implements PrivateCommandPerformer { CharSequence text = getSelectedText(InputConnection.GET_TEXT_WITH_STYLES); if (text == null || text.length() == 0) { // we have no selection, get the whole text - ExtractedTextRequest etr = new ExtractedTextRequest(); + final ExtractedTextRequest etr = new ExtractedTextRequest(); etr.flags = InputConnection.GET_TEXT_WITH_STYLES; etr.hintMaxChars = Integer.MAX_VALUE; - text = mIC.getExtractedText(etr, 0).text; + final ExtractedText et = mIC.getExtractedText(etr, 0); + if (et == null) return; + text = et.text; } - if (text == null) return; + if (text == null || text.length() == 0) return; final ClipboardManager cm = (ClipboardManager) mParent.getSystemService(Context.CLIPBOARD_SERVICE); cm.setPrimaryClip(ClipData.newPlainText("copied text", text)); }