From 1eba97d92fb5caa4f23425837b6680ccc2a23ae8 Mon Sep 17 00:00:00 2001
From: Jean Chalard <jchalard@google.com>
Date: Tue, 21 Aug 2012 19:57:21 +0900
Subject: [PATCH] Treat all caps for gesture input.

Bug: 6950087
Change-Id: I9f2271780600572c9befa96c7ad98494c554dd2b
---
 java/src/com/android/inputmethod/latin/Suggest.java      | 6 ++----
 java/src/com/android/inputmethod/latin/WordComposer.java | 9 ++++++++-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 6a4562c49a..c753226917 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -309,10 +309,8 @@ public class Suggest {
         final ArrayList<SuggestedWordInfo> suggestionsContainer =
                 new ArrayList<SuggestedWordInfo>(suggestionsSet);
         final int suggestionsCount = suggestionsContainer.size();
-        final boolean isFirstCharCapitalized = wordComposer.wasAutoCapitalized();
-        // TODO: Handle the manual temporary shifted mode.
-        // TODO: Should handle TextUtils.CAP_MODE_CHARACTER.
-        final boolean isAllUpperCase = false;
+        final boolean isFirstCharCapitalized = wordComposer.wasShiftedNoLock();
+        final boolean isAllUpperCase = wordComposer.isAllUpperCase();
         if (isFirstCharCapitalized || isAllUpperCase) {
             for (int i = 0; i < suggestionsCount; ++i) {
                 final SuggestedWordInfo wordInfo = suggestionsContainer.get(i);
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index 0580d89543..9ca9b7e715 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -270,7 +270,14 @@ public class WordComposer {
      * @return true if all user typed chars are upper case, false otherwise
      */
     public boolean isAllUpperCase() {
-        return (mCapsCount > 0) && (mCapsCount == size());
+        return mCapitalizedMode == CAPS_MODE_AUTO_SHIFT_LOCKED
+                || mCapitalizedMode == CAPS_MODE_MANUAL_SHIFT_LOCKED
+                || (mCapsCount > 0) && (mCapsCount == size());
+    }
+
+    public boolean wasShiftedNoLock() {
+        return mCapitalizedMode == CAPS_MODE_AUTO_SHIFTED
+                || mCapitalizedMode == CAPS_MODE_MANUAL_SHIFTED;
     }
 
     /**
-- 
GitLab