Fix language switch preview

This change also makes the delay after key preview longer to 60ms.

Change-Id: If7cf3b493824bb12e0bf44aa0bc3c186b15b51f6
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 77259b1..a1cd70b 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -53,7 +53,7 @@
     <integer name="config_duration_of_fadeout_language_on_spacebar">50</integer>
     <integer name="config_final_fadeout_percentage_of_language_on_spacebar">15</integer>
     <integer name="config_delay_before_preview">0</integer>
-    <integer name="config_delay_after_preview">10</integer>
+    <integer name="config_delay_after_preview">60</integer>
     <integer name="config_mini_keyboard_fadein_anim_time">0</integer>
     <integer name="config_mini_keyboard_fadeout_anim_time">100</integer>
     <integer name="config_delay_before_key_repeat_start">400</integer>
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index f97d128..e163457 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -190,6 +190,7 @@
         // we should reset the text fade factor. It is also applicable to shortcut key.
         keyboard.setSpacebarTextFadeFactor(0.0f, null);
         keyboard.updateShortcutKey(mSubtypeSwitcher.isShortcutImeReady(), null);
+        keyboard.setSpacebarSlidingLanguageSwitchDiff(0);
         return keyboard;
     }
 
diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
index 5854db6..86b7f7e 100644
--- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
@@ -64,7 +64,7 @@
     private final int mSpacebarTextShadowColor;
     private float mSpacebarTextFadeFactor = 0.0f;
     private final int mSpacebarLanguageSwitchThreshold;
-    private int mSpacebarLanguageSwitchDiff;
+    private int mSpacebarSlidingLanguageSwitchDiff;
     private SlidingLocaleDrawable mSlidingLocaleIcon;
     private final HashMap<Integer, SoftReference<BitmapDrawable>> mSpaceDrawableCache =
             new HashMap<Integer, SoftReference<BitmapDrawable>>();
@@ -323,10 +323,14 @@
         return buffer;
     }
 
+    public void setSpacebarSlidingLanguageSwitchDiff(int diff) {
+        mSpacebarSlidingLanguageSwitchDiff = diff;
+    }
+
     public void updateSpacebarPreviewIcon(int diff) {
-        if (mSpacebarLanguageSwitchDiff == diff)
+        if (mSpacebarSlidingLanguageSwitchDiff == diff)
             return;
-        mSpacebarLanguageSwitchDiff = diff;
+        mSpacebarSlidingLanguageSwitchDiff = diff;
         if (mSlidingLocaleIcon == null) {
             final int width = Math.max(mSpaceKey.mWidth,
                     (int)(getMinWidth() * SPACEBAR_POPUP_MIN_RATIO));
@@ -366,15 +370,16 @@
             return false;
         // The language switcher will be displayed only when the dragging distance is greater
         // than the threshold.
-        return shouldTriggerSpacebarSlidingLanguageSwitch(mSpacebarLanguageSwitchDiff);
+        return shouldTriggerSpacebarSlidingLanguageSwitch(mSpacebarSlidingLanguageSwitchDiff);
     }
 
     public int getLanguageChangeDirection() {
-        if (mSpaceKey == null || mSubtypeSwitcher.getEnabledKeyboardLocaleCount() <= 1 || Math.abs(
-                mSpacebarLanguageSwitchDiff) < getMostCommonKeyWidth() * SPACEBAR_DRAG_WIDTH) {
+        if (mSpaceKey == null || mSubtypeSwitcher.getEnabledKeyboardLocaleCount() <= 1
+                || Math.abs(mSpacebarSlidingLanguageSwitchDiff)
+                    < getMostCommonKeyWidth() * SPACEBAR_DRAG_WIDTH) {
             return 0; // No change
         }
-        return mSpacebarLanguageSwitchDiff > 0 ? 1 : -1;
+        return mSpacebarSlidingLanguageSwitchDiff > 0 ? 1 : -1;
     }
 
     @Override
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index a95c5cd..42070cb 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -541,7 +541,6 @@
                 // This will change keyboard layout.
                 mListener.onCodeInput(code, new int[] {code}, keyX, keyY);
             }
-            ((LatinKeyboard)mKeyboard).updateSpacebarPreviewIcon(0);
             mIsInSlidingLanguageSwitch = false;
             return;
         }