From 94289187e9eef2ef8f6381e4ba91fedf6a95226f Mon Sep 17 00:00:00 2001 From: sspanak Date: Mon, 21 Aug 2023 15:27:36 +0300 Subject: [PATCH] debugging info for the UPPERCASE bug --- src/io/github/sspanak/tt9/ime/TraditionalT9.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/io/github/sspanak/tt9/ime/TraditionalT9.java b/src/io/github/sspanak/tt9/ime/TraditionalT9.java index 0f5df474..6ca4fb6e 100644 --- a/src/io/github/sspanak/tt9/ime/TraditionalT9.java +++ b/src/io/github/sspanak/tt9/ime/TraditionalT9.java @@ -115,10 +115,21 @@ public class TraditionalT9 extends KeyPadHandler { * last saved mode. */ private void determineTextCase() { + String debugString = ""; + mInputMode.defaultTextCase(); + debugString += "default text case: " + mInputMode.getTextCase() + "; "; + mInputMode.setTextFieldCase(textField.determineTextCase(inputType)); mInputMode.determineNextWordTextCase(textField.isThereText(), textField.getTextBeforeCursor()); + debugString += "after determine: " + mInputMode.getTextCase() + "; "; + InputModeValidator.validateTextCase(mInputMode, settings.getTextCase()); + debugString += "after validation: " + mInputMode.getTextCase(); + + if (mInputMode.getTextCase() == InputMode.CASE_UPPER) { + Logger.e("determineTextCase", "====> UPPERCASE ENFORCED: " + debugString); + } } @@ -674,8 +685,8 @@ public class TraditionalT9 extends KeyPadHandler { else if (mInputMode.isABC() && mInputMode.getTextCase() == InputMode.CASE_LOWER && mLanguage.hasUpperCase()) { mInputMode.nextTextCase(); } else { - int modeIndex = (allowedInputModes.indexOf(mInputMode.getId()) + 1) % allowedInputModes.size(); - mInputMode = InputMode.getInstance(settings, mLanguage, allowedInputModes.get(modeIndex)); + int nextModeIndex = (allowedInputModes.indexOf(mInputMode.getId()) + 1) % allowedInputModes.size(); + mInputMode = InputMode.getInstance(settings, mLanguage, allowedInputModes.get(nextModeIndex)); mInputMode.setTextFieldCase(textField.determineTextCase(inputType)); mInputMode.determineNextWordTextCase(textField.isThereText(), textField.getTextBeforeCursor());