Merge "Gray out "alt-code-while-typing" key icon while typing"
diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
index e2a4830..61d75e2 100644
--- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
+++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
@@ -124,40 +124,40 @@
         final float[] sweetSpotCenterXs;
         final float[] sweetSpotCenterYs;
         final float[] sweetSpotRadii;
-        final boolean calculateSweetSpotParams;
+
+        for (int i = 0; i < keyCount; ++i) {
+            final Key key = keys[i];
+            keyXCoordinates[i] = key.mX;
+            keyYCoordinates[i] = key.mY;
+            keyWidths[i] = key.mWidth;
+            keyHeights[i] = key.mHeight;
+            keyCharCodes[i] = key.mCode;
+        }
+
         if (touchPositionCorrection != null && touchPositionCorrection.isValid()) {
             sweetSpotCenterXs = new float[keyCount];
             sweetSpotCenterYs = new float[keyCount];
             sweetSpotRadii = new float[keyCount];
-            calculateSweetSpotParams = true;
             for (int i = 0; i < keyCount; i++) {
                 final Key key = keys[i];
-                keyXCoordinates[i] = key.mX;
-                keyYCoordinates[i] = key.mY;
-                keyWidths[i] = key.mWidth;
-                keyHeights[i] = key.mHeight;
-                keyCharCodes[i] = key.mCode;
-                if (calculateSweetSpotParams) {
-                    final Rect hitBox = key.mHitBox;
-                    final int row = hitBox.top / mKeyHeight;
-                    if (row < touchPositionCorrection.mRadii.length) {
-                        final float hitBoxCenterX = (hitBox.left + hitBox.right) * 0.5f;
-                        final float hitBoxCenterY = (hitBox.top + hitBox.bottom) * 0.5f;
-                        final float hitBoxWidth = hitBox.right - hitBox.left;
-                        final float hitBoxHeight = hitBox.bottom - hitBox.top;
-                        final float x = touchPositionCorrection.mXs[row];
-                        final float y = touchPositionCorrection.mYs[row];
-                        final float radius = touchPositionCorrection.mRadii[row];
-                        sweetSpotCenterXs[i] = hitBoxCenterX + x * hitBoxWidth;
-                        sweetSpotCenterYs[i] = hitBoxCenterY + y * hitBoxHeight;
-                        sweetSpotRadii[i] = radius * (float) Math.sqrt(
-                                hitBoxWidth * hitBoxWidth + hitBoxHeight * hitBoxHeight);
-                    }
+                final Rect hitBox = key.mHitBox;
+                final int row = hitBox.top / mKeyHeight;
+                if (row < touchPositionCorrection.mRadii.length) {
+                    final float hitBoxCenterX = (hitBox.left + hitBox.right) * 0.5f;
+                    final float hitBoxCenterY = (hitBox.top + hitBox.bottom) * 0.5f;
+                    final float hitBoxWidth = hitBox.right - hitBox.left;
+                    final float hitBoxHeight = hitBox.bottom - hitBox.top;
+                    final float x = touchPositionCorrection.mXs[row];
+                    final float y = touchPositionCorrection.mYs[row];
+                    final float radius = touchPositionCorrection.mRadii[row];
+                    sweetSpotCenterXs[i] = hitBoxCenterX + x * hitBoxWidth;
+                    sweetSpotCenterYs[i] = hitBoxCenterY + y * hitBoxHeight;
+                    sweetSpotRadii[i] = radius * (float) Math.sqrt(
+                            hitBoxWidth * hitBoxWidth + hitBoxHeight * hitBoxHeight);
                 }
             }
         } else {
             sweetSpotCenterXs = sweetSpotCenterYs = sweetSpotRadii = null;
-            calculateSweetSpotParams = false;
         }
 
         mNativeProximityInfo = setProximityInfoNative(mLocaleStr, MAX_PROXIMITY_CHARS_SIZE,
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 201e0f4..6b231f8 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -16,9 +16,11 @@
 
 package com.android.inputmethod.latin;
 
+import android.text.TextUtils;
 import android.view.inputmethod.CompletionInfo;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
@@ -71,7 +73,9 @@
         return "SuggestedWords:"
                 + " mTypedWordValid=" + mTypedWordValid
                 + " mHasAutoCorrectionCandidate=" + mHasAutoCorrectionCandidate
-                + " mIsPunctuationSuggestions=" + mIsPunctuationSuggestions;
+                + " mAllowsToBeAutoCorrected=" + mAllowsToBeAutoCorrected
+                + " mIsPunctuationSuggestions=" + mIsPunctuationSuggestions
+                + " words=" + Arrays.toString(mSuggestedWordInfoList.toArray());
     }
 
     public static ArrayList<SuggestedWordInfo> getFromCharSequenceList(
@@ -141,5 +145,14 @@
         public boolean isObsoleteSuggestedWord () {
             return mPreviousSuggestedWord;
         }
+
+        @Override
+        public String toString() {
+            if (TextUtils.isEmpty(mDebugString)) {
+                return mWord.toString();
+            } else {
+                return mWord.toString() + " (" + mDebugString.toString() + ")";
+            }
+        }
     }
 }