From 7dde359f5bd288c70c026d4efe1a15bf09e11ae4 Mon Sep 17 00:00:00 2001 From: merkost Date: Fri, 23 Jun 2023 12:33:59 +1000 Subject: [PATCH] Added updateShiftKeyState if originalText is null --- .../simplemobiletools/keyboard/services/SimpleKeyboardIME.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt b/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt index 49a2cd19..365eeee8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt +++ b/app/src/main/kotlin/com/simplemobiletools/keyboard/services/SimpleKeyboardIME.kt @@ -163,6 +163,7 @@ class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, Shared else -> { var codeChar = code.toChar() + val originalText = inputConnection.getExtractedText(ExtractedTextRequest(), 0)?.text if (Character.isLetter(codeChar) && keyboard!!.mShiftState > ShiftState.OFF) { codeChar = Character.toUpperCase(codeChar) @@ -172,7 +173,6 @@ class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, Shared // However, avoid doing that in cases when the EditText for example requires numbers as the input. // We can detect that by the text not changing on pressing Space. if (keyboardMode != KEYBOARD_LETTERS && inputTypeClass == TYPE_CLASS_TEXT && code == MyKeyboard.KEYCODE_SPACE) { - val originalText = inputConnection.getExtractedText(ExtractedTextRequest(), 0)?.text inputConnection.commitText(codeChar.toString(), 1) val newText = inputConnection.getExtractedText(ExtractedTextRequest(), 0)?.text if (originalText != newText) { @@ -180,6 +180,9 @@ class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, Shared } } else { inputConnection.commitText(codeChar.toString(), 1) + if (originalText == null) { + updateShiftKeyState() + } } } }