From 6fc72cae206b67e2dbcc4c6a853a355995d068be Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Fri, 27 Jul 2012 03:45:42 +0900
Subject: [PATCH] Fix a bug with autocaps

Port of Iece016f4

Bug: 6886405
Change-Id: I148c296d8a3841c40b6748e73ed2b0fff473b627
---
 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 6b5de486c..1aac734ba 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -701,6 +701,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
 
         mLastSelectionStart = editorInfo.initialSelStart;
         mLastSelectionEnd = editorInfo.initialSelEnd;
+        // If we come here something in the text state is very likely to have changed.
+        // We should update the shift state regardless of whether we are restarting or not, because
+        // this is not perceived as a layout change that may be disruptive like we may have with
+        // switcher.loadKeyboard; in apps like Talk, we come here when the text is sent and the
+        // field gets emptied and we need to re-evaluate the shift state, but not the whole layout
+        // which would be disruptive.
+        mKeyboardSwitcher.updateShiftState();
 
         mHandler.cancelUpdateSuggestionStrip();
         mHandler.cancelDoubleSpacesTimer();