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 c7ed1bd9..be183aa5 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 @@ -188,11 +188,10 @@ abstract public class CommandHandler extends TextEditingHandler { // for languages that do not have ABC or Predictive, make sure we remain in valid state final String digits = mInputMode.getSequence(); - final int textCase = mInputMode.getTextCase(); mInputMode = InputMode.getInstance(settings, mLanguage, inputType, textField, determineInputModeId()); if (!InputModeKind.isNumeric(mInputMode)) { - mInputMode.setTextCase(textCase); mInputMode.setSequence(digits); + mInputMode.determineNextWordTextCase(-1); } getSuggestions(null); diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java index 134d3bd5..388e82fa 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java @@ -344,7 +344,8 @@ class ModeWords extends ModeCheonjiin { @Override public void determineNextWordTextCase(int nextDigit) { - textCase = autoTextCase.determineNextWordTextCase(language, textCase, textFieldTextCase, textField.getStringBeforeCursor(), digitSequence + nextDigit); + final String nextSequence = nextDigit >= 0 ? digitSequence + nextDigit : digitSequence; + textCase = autoTextCase.determineNextWordTextCase(language, textCase, textFieldTextCase, textField.getStringBeforeCursor(), nextSequence); } private void determineTextFieldTextCase() {