From b7e782d8689c4071388cff073bbc9ae9309ba312 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Wed, 14 Aug 2013 16:16:29 +0900 Subject: [PATCH] Re-evaluate auto-caps earlier. We have all we know to re-evaluate auto-caps in this case. We don't need to wait until we get the callback from TextView. Bug: 10287972 Change-Id: I87e4e26cd193a001f91fe852ffc5a8f728db2449 --- java/src/com/android/inputmethod/latin/LatinIME.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 4ddc1e15d..d8f2c1a4e 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1858,6 +1858,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } mConnection.setComposingText(getTextWithUnderline(mWordComposer.getTypedWord()), 1); mHandler.postUpdateSuggestionStrip(); + if (!mWordComposer.isComposingWord()) { + // If we just removed the last character, auto-caps mode may have changed so we + // need to re-evaluate. + mKeyboardSwitcher.updateShiftState(); + } } else { final SettingsValues currentSettings = mSettings.getCurrent(); if (mLastComposedWord.canRevertCommit()) { @@ -1940,6 +1945,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (currentSettings.isSuggestionsRequested(mDisplayOrientation)) { restartSuggestionsOnWordBeforeCursorIfAtEndOfWord(); } + // We just removed a character. We need to update the auto-caps state. + mKeyboardSwitcher.updateShiftState(); } }