diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java index 670418cc..26ad2bb0 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/CommandHandler.java @@ -190,8 +190,8 @@ abstract public class CommandHandler extends TextEditingHandler { final String digits = mInputMode.getSequence(); final int textCase = mInputMode.getTextCase(); mInputMode = InputMode.getInstance(settings, mLanguage, inputType, textField, determineInputModeId()); - mInputMode.setTextCase(textCase); - if (InputModeKind.isPredictive(mInputMode)) { + if (!InputModeKind.isNumeric(mInputMode)) { + mInputMode.setTextCase(textCase); mInputMode.setSequence(digits); } diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java index 5786a56f..beb25ac7 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java @@ -98,6 +98,13 @@ class ModeABC extends InputMode { return true; } + @Override + public void setSequence(@NonNull String sequence) { + super.setSequence(sequence); + refreshSuggestions(); + shouldSelectNextLetter = true; + } + @Override public void onAcceptSuggestion(@NonNull String w) { reset(); } @Override public boolean shouldAcceptPreviousSuggestion(String w) { return !shouldSelectNextLetter; } @Override public boolean shouldSelectNextSuggestion() { return shouldSelectNextLetter; }