From c5f0e47eb5a65801fd40d16cc809356d908a553a Mon Sep 17 00:00:00 2001 From: sspanak Date: Thu, 19 Sep 2024 15:51:59 +0300 Subject: [PATCH] the text case is again properly saved and restored on restart --- .../java/io/github/sspanak/tt9/ime/CommandHandler.java | 9 ++++++--- .../java/io/github/sspanak/tt9/ime/TypingHandler.java | 8 ++------ 2 files changed, 8 insertions(+), 9 deletions(-) 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 af9047f1..9ccba545 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 @@ -141,8 +141,7 @@ abstract public class CommandHandler extends TextEditingHandler { int nextModeIndex = (allowedInputModes.indexOf(mInputMode.getId()) + 1) % allowedInputModes.size(); mInputMode = InputMode.getInstance(settings, mLanguage, inputType, textField, allowedInputModes.get(nextModeIndex)); - mInputMode.setTextFieldCase(inputType.determineTextCase()); - mInputMode.determineNextWordTextCase(textField.getStringBeforeCursor()); + determineTextCase(); } // save the settings for the next time @@ -167,7 +166,9 @@ abstract public class CommandHandler extends TextEditingHandler { if (suggestionOps.isEmpty() || mInputMode.getSuggestions().isEmpty()) { // When there are no suggestions, there is no need to execute the code for // adjusting them below. - mInputMode.nextTextCase(); + if (mInputMode.nextTextCase()) { + settings.saveTextCase(mInputMode.getTextCase()); + } return; } @@ -194,6 +195,8 @@ abstract public class CommandHandler extends TextEditingHandler { suggestionOps.set(mInputMode.getSuggestions(), currentSuggestionIndex, mInputMode.containsGeneratedSuggestions()); textField.setComposingText(suggestionOps.getCurrent()); + + settings.saveTextCase(mInputMode.getTextCase()); } 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 195411fa..1a5f6d3e 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 @@ -258,14 +258,10 @@ public abstract class TypingHandler extends KeyPadHandler { /** * determineTextCase - * Restore the last text case or auto-select a new one. If the InputMode supports it, it can change - * the text case based on grammar rules, otherwise we fallback to the input field properties or the - * last saved mode. + * Restore the last used text case or auto-select a new one based on the input field properties. */ - private void determineTextCase() { - mInputMode.defaultTextCase(); + protected void determineTextCase() { mInputMode.setTextFieldCase(inputType.determineTextCase()); - mInputMode.determineNextWordTextCase(textField.getStringBeforeCursor()); InputModeValidator.validateTextCase(mInputMode, settings.getTextCase()); }