Fix for #2373295 : Capitalize suggestions when typing a capitalized word.

When the user starts typing a word with a capital, whether automatically due
to sentence beginning or since the user pressed shift, then all suggestions
presented are capitalized as well, to be more WYSIWYG.
diff --git a/src/com/android/inputmethod/latin/Suggest.java b/src/com/android/inputmethod/latin/Suggest.java
index 002f230..c3fe996 100755
--- a/src/com/android/inputmethod/latin/Suggest.java
+++ b/src/com/android/inputmethod/latin/Suggest.java
@@ -26,6 +26,8 @@
 import java.util.Arrays;
 import java.util.List;
 
+import com.android.inputmethod.latin.WordComposer;
+
 /**
  * This class loads a dictionary and provides a list of suggestions for a given sequence of 
  * characters. This includes corrections and completions.
@@ -55,6 +57,7 @@
     private boolean mHaveCorrection;
     private CharSequence mOriginalWord;
     private String mLowerOriginalWord;
+    private boolean mCapitalize;
 
     private int mCorrectionMode = CORRECTION_BASIC;
 
@@ -156,6 +159,7 @@
     public List<CharSequence> getSuggestions(View view, WordComposer wordComposer, 
             boolean includeTypedWordIfValid) {
         mHaveCorrection = false;
+        mCapitalize = wordComposer.isCapitalized();
         collectGarbage();
         Arrays.fill(mPriorities, 0);
         
@@ -300,7 +304,14 @@
         StringBuilder sb = poolSize > 0 ? (StringBuilder) mStringPool.remove(poolSize - 1) 
                 : new StringBuilder(32);
         sb.setLength(0);
-        sb.append(word, offset, length);
+        if (mCapitalize) {
+            sb.append(Character.toUpperCase(word[offset]));
+            if (length > 1) {
+                sb.append(word, offset + 1, length - 1);
+            }
+        } else {
+            sb.append(word, offset, length);
+        }
         mSuggestions.add(pos, sb);
         if (mSuggestions.size() > prefMaxSuggestions) {
             CharSequence garbage = mSuggestions.remove(prefMaxSuggestions);