diff options
author | 2011-04-22 18:00:16 +0900 | |
---|---|---|
committer | 2011-04-22 18:26:32 +0900 | |
commit | 75136cd009ef37b9a5a013200444e149f8461ff5 (patch) | |
tree | e8d713eb430b10ef149b1685067a63cfb5827c8d /java/src | |
parent | d00d963b9d47c1bba6f65534033a33fe7c30dde5 (diff) | |
download | latinime-75136cd009ef37b9a5a013200444e149f8461ff5.tar.gz latinime-75136cd009ef37b9a5a013200444e149f8461ff5.tar.xz latinime-75136cd009ef37b9a5a013200444e149f8461ff5.zip |
Fix language switch preview
This change also makes the delay after key preview longer to 60ms.
Change-Id: If7cf3b493824bb12e0bf44aa0bc3c186b15b51f6
Diffstat (limited to 'java/src')
3 files changed, 13 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index f97d1283a..e163457d8 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -190,6 +190,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha // 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 5854db656..86b7f7e82 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java @@ -64,7 +64,7 @@ public class LatinKeyboard extends Keyboard { 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 @@ public class LatinKeyboard extends Keyboard { 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 @@ public class LatinKeyboard extends Keyboard { 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 a95c5cd39..42070cb28 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -541,7 +541,6 @@ public class PointerTracker { // This will change keyboard layout. mListener.onCodeInput(code, new int[] {code}, keyX, keyY); } - ((LatinKeyboard)mKeyboard).updateSpacebarPreviewIcon(0); mIsInSlidingLanguageSwitch = false; return; } |