From d37b7139c63b3c3d12b23a4e7ede20393f517ebb Mon Sep 17 00:00:00 2001 From: sspanak Date: Thu, 10 Nov 2022 12:48:03 +0200 Subject: [PATCH] fixed a crash when trying to add a word, but the input connection is already closed --- src/io/github/sspanak/tt9/ime/InputFieldHelper.java | 7 +++++++ src/io/github/sspanak/tt9/ime/TraditionalT9.java | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/io/github/sspanak/tt9/ime/InputFieldHelper.java b/src/io/github/sspanak/tt9/ime/InputFieldHelper.java index faea56e7..55d5881c 100644 --- a/src/io/github/sspanak/tt9/ime/InputFieldHelper.java +++ b/src/io/github/sspanak/tt9/ime/InputFieldHelper.java @@ -157,8 +157,15 @@ class InputFieldHelper { public static String getSurroundingWord(InputConnection currentInputConnection) { + if (currentInputConnection == null) { + return ""; + } + String before = (String) currentInputConnection.getTextBeforeCursor(50, 0); String after = (String) currentInputConnection.getTextAfterCursor(50, 0); + if (before == null || after == null) { + return ""; + } Matcher beforeMatch = Pattern.compile("(\\w+)$").matcher(before); Matcher afterMatch = Pattern.compile("^(\\w+)").matcher(after); diff --git a/src/io/github/sspanak/tt9/ime/TraditionalT9.java b/src/io/github/sspanak/tt9/ime/TraditionalT9.java index a27688f9..9bf4097d 100644 --- a/src/io/github/sspanak/tt9/ime/TraditionalT9.java +++ b/src/io/github/sspanak/tt9/ime/TraditionalT9.java @@ -511,6 +511,10 @@ public class TraditionalT9 extends KeyPadHandler { private void showAddWord() { + if (currentInputConnection == null) { + return; + } + currentInputConnection.finishComposingText(); clearSuggestions();