diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java index 20a62394..9cee8fe1 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java @@ -82,6 +82,10 @@ public class TraditionalT9 extends HotkeyHandler { setStatusText(mInputMode.toString()); setDarkTheme(); mainView.render(); + + if (!isInputViewShown()) { + updateInputViewShown(); + } } @@ -100,7 +104,6 @@ public class TraditionalT9 extends HotkeyHandler { initUi(); } - updateInputViewShown(); return true; } @@ -121,6 +124,10 @@ public class TraditionalT9 extends HotkeyHandler { setStatusIcon(0); setStatusText("--"); + if (isInputViewShown()) { + updateInputViewShown(); + } + normalizationHandler.removeCallbacksAndMessages(null); normalizationHandler.postDelayed( () -> { if (!DictionaryLoader.getInstance(this).isRunning()) WordStoreAsync.normalizeNext(); }, diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/TypingHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/TypingHandler.java index 7c368549..6400cf69 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/TypingHandler.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/TypingHandler.java @@ -65,8 +65,6 @@ public abstract class TypingHandler extends KeyPadHandler { suggestionOps.set(null); - appHacks = new AppHacks(settings, connection, field, textField); - return true; } @@ -75,6 +73,9 @@ public abstract class TypingHandler extends KeyPadHandler { currentInputConnection = connection; inputType = new InputType(currentInputConnection, field); textField = new TextField(currentInputConnection, field); + + // changing the TextField and notifying all interested classes is an atomic operation + appHacks = new AppHacks(settings, connection, field, textField); suggestionOps.setTextField(textField); }