diff options
Diffstat (limited to 'java/src')
3 files changed, 26 insertions, 63 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index cdf07ed70..973f64b4d 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -383,6 +383,7 @@ public class Keyboard { case CODE_ACTION_ENTER: return "actionEnter"; case CODE_ACTION_NEXT: return "actionNext"; case CODE_ACTION_PREVIOUS: return "actionPrevious"; + case CODE_LANGUAGE_SWITCH: return "languageSwitch"; case CODE_UNSPECIFIED: return "unspec"; case CODE_TAB: return "tab"; case CODE_ENTER: return "enter"; diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java index 97f4d07d9..343842552 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java @@ -84,7 +84,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke private static final int ALPHA_OPAQUE = 255; private boolean mNeedsToDisplayLanguage; private Locale mSpacebarLocale; - private int mSpacebarTextAlpha; + private int mSpacebarTextAlpha = ALPHA_OPAQUE; private final float mSpacebarTextRatio; private float mSpacebarTextSize; private final int mSpacebarTextColor; @@ -101,7 +101,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke // Stuff to draw altCodeWhileTyping keys. private ValueAnimator mAltCodeKeyWhileTypingFadeoutAnimator; private ValueAnimator mAltCodeKeyWhileTypingFadeinAnimator; - private int mAltCodeKeyWhileTypingAnimAlpha; + private int mAltCodeKeyWhileTypingAnimAlpha = ALPHA_OPAQUE; // More keys keyboard private PopupWindow mMoreKeysWindow; @@ -154,16 +154,8 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke } break; case MSG_TYPING_STATE_EXPIRED: - final ValueAnimator fadeout = keyboardView.mAltCodeKeyWhileTypingFadeoutAnimator; - if (fadeout != null && fadeout.isStarted()) { - fadeout.cancel(); - } - // TODO: Start the fade in animation with an initial value that is the same as the - // final value when the above fade out animation gets cancelled. - final ValueAnimator fadein = keyboardView.mAltCodeKeyWhileTypingFadeinAnimator; - if (fadein != null && !fadein.isStarted()) { - fadein.start(); - } + cancelAndStartAnimators(keyboardView.mAltCodeKeyWhileTypingFadeoutAnimator, + keyboardView.mAltCodeKeyWhileTypingFadeinAnimator); break; } } @@ -238,26 +230,34 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke removeMessages(MSG_LONGPRESS_KEY); } + private static void cancelAndStartAnimators(ValueAnimator animatorToCancel, + ValueAnimator animatorToStart) { + if (animatorToCancel != null && animatorToCancel.isStarted()) { + animatorToCancel.cancel(); + } + // TODO: Start the animation with an initial value that is the same as the final value + // of the above animation when it gets cancelled. + if (animatorToStart != null && !animatorToStart.isStarted()) { + animatorToStart.start(); + } + } + + private void cancelTypingStateTimer() { + removeMessages(MSG_TYPING_STATE_EXPIRED); + } + @Override public void startTypingStateTimer() { final boolean isTyping = isTypingState(); - removeMessages(MSG_TYPING_STATE_EXPIRED); + cancelTypingStateTimer(); sendMessageDelayed( obtainMessage(MSG_TYPING_STATE_EXPIRED), mParams.mIgnoreAltCodeKeyTimeout); - final LatinKeyboardView keyboardView = getOuterInstance(); if (isTyping) { return; } - final ValueAnimator fadein = keyboardView.mAltCodeKeyWhileTypingFadeinAnimator; - if (fadein != null && fadein.isStarted()) { - fadein.cancel(); - } - // TODO: Start the fade out animation with an initial value that is the same as the - // final value when the above fade in animation gets cancelled. - final ValueAnimator fadeout = keyboardView.mAltCodeKeyWhileTypingFadeoutAnimator; - if (fadeout != null && !fadeout.isStarted()) { - fadeout.start(); - } + final LatinKeyboardView keyboardView = getOuterInstance(); + cancelAndStartAnimators(keyboardView.mAltCodeKeyWhileTypingFadeinAnimator, + keyboardView.mAltCodeKeyWhileTypingFadeoutAnimator); } @Override @@ -289,6 +289,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke public void cancelAllMessages() { cancelKeyTimers(); + cancelTypingStateTimer(); } } @@ -323,15 +324,6 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke public final int mLongPressSpaceKeyTimeout; public final int mIgnoreAltCodeKeyTimeout; - KeyTimerParams() { - mKeyRepeatStartTimeout = 0; - mKeyRepeatInterval = 0; - mLongPressKeyTimeout = 0; - mLongPressShiftKeyTimeout = 0; - mLongPressSpaceKeyTimeout = 0; - mIgnoreAltCodeKeyTimeout = 0; - } - public KeyTimerParams(TypedArray latinKeyboardViewAttr) { mKeyRepeatStartTimeout = latinKeyboardViewAttr.getInt( R.styleable.LatinKeyboardView_keyRepeatStartTimeout, 0); @@ -424,12 +416,6 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke updateAltCodeKeyWhileTyping(); } }); - fadeout.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator a) { - final ValueAnimator valueAnimator = (ValueAnimator)a; - } - }); } mAltCodeKeyWhileTypingFadeoutAnimator = fadeout; @@ -442,12 +428,6 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke updateAltCodeKeyWhileTyping(); } }); - fadein.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator a) { - final ValueAnimator valueAnimator = (ValueAnimator)a; - } - }); } mAltCodeKeyWhileTypingFadeinAnimator = fadein; } @@ -510,8 +490,6 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap; mSpacebarTextSize = keyHeight * mSpacebarTextRatio; mSpacebarLocale = keyboard.mId.mLocale; - mSpacebarTextAlpha = ALPHA_OPAQUE; - mAltCodeKeyWhileTypingAnimAlpha = ALPHA_OPAQUE; } /** diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index 126ac47e7..a9609310c 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -177,7 +177,6 @@ public class WordComposer { private void add(int primaryCode, int[] codes, int keyX, int keyY) { final int newIndex = mCodes.size(); mTypedWord.appendCodePoint(primaryCode); - correctPrimaryJuxtapos(primaryCode, codes); mCodes.add(codes); if (newIndex < BinaryDictionary.MAX_WORD_LENGTH) { mXCoordinates[newIndex] = keyX; @@ -239,21 +238,6 @@ public class WordComposer { } /** - * Swaps the first and second values in the codes array if the primary code is not the first - * value in the array but the second. This happens when the preferred key is not the key that - * the user released the finger on. - * @param primaryCode the preferred character - * @param codes array of codes based on distance from touch point - */ - private static void correctPrimaryJuxtapos(int primaryCode, int[] codes) { - if (codes.length < 2) return; - if (codes[0] > 0 && codes[1] > 0 && codes[0] != primaryCode && codes[1] == primaryCode) { - codes[1] = codes[0]; - codes[0] = primaryCode; - } - } - - /** * Delete the last keystroke as a result of hitting backspace. */ public void deleteLast() { |