From 230cd6f7f27300e2688b5e5a22a5361f446b80e7 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Wed, 6 May 2009 17:38:00 -0700 Subject: [PATCH] Fix Bug #1833943 - CapsLock using long-press doesn't update keys. Use new API in KeyboardView to invalidate all keys on long-press of shift key. --- src/com/android/inputmethod/latin/LatinKeyboardView.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/android/inputmethod/latin/LatinKeyboardView.java b/src/com/android/inputmethod/latin/LatinKeyboardView.java index 363dcd0b0..d9ff0aa8c 100644 --- a/src/com/android/inputmethod/latin/LatinKeyboardView.java +++ b/src/com/android/inputmethod/latin/LatinKeyboardView.java @@ -33,7 +33,7 @@ public class LatinKeyboardView extends KeyboardView { static final int KEYCODE_OPTIONS = -100; static final int KEYCODE_SHIFT_LONGPRESS = -101; - + private Keyboard mPhoneKeyboard; public LatinKeyboardView(Context context, AttributeSet attrs) { @@ -43,11 +43,11 @@ public class LatinKeyboardView extends KeyboardView { public LatinKeyboardView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } - + public void setPhoneKeyboard(Keyboard phoneKeyboard) { mPhoneKeyboard = phoneKeyboard; } - + @Override protected boolean onLongPress(Key key) { if (key.codes[0] == Keyboard.KEYCODE_MODE_CHANGE) { @@ -55,7 +55,7 @@ public class LatinKeyboardView extends KeyboardView { return true; } else if (key.codes[0] == Keyboard.KEYCODE_SHIFT) { getOnKeyboardActionListener().onKey(KEYCODE_SHIFT_LONGPRESS, null); - invalidate(); + invalidateAllKeys(); return true; } else if (key.codes[0] == '0' && getKeyboard() == mPhoneKeyboard) { // Long pressing on 0 in phone number keypad gives you a '+'.