Merge "Disable popup preview and long press on disabled key"

This commit is contained in:
Tadashi G. Takaoka 2011-04-08 02:00:09 -07:00 committed by Android (Google) Code Review
commit b428e8cc9e
2 changed files with 6 additions and 1 deletions

View file

@ -379,7 +379,7 @@ public class Key {
* @see android.graphics.drawable.StateListDrawable#setState(int[]) * @see android.graphics.drawable.StateListDrawable#setState(int[])
*/ */
public int[] getCurrentDrawableState() { public int[] getCurrentDrawableState() {
final boolean pressed = mEnabled && mPressed; final boolean pressed = mPressed;
if (!mSticky && mFunctional) { if (!mSticky && mFunctional) {
if (pressed) { if (pressed) {
return KEY_STATE_FUNCTIONAL_PRESSED; return KEY_STATE_FUNCTIONAL_PRESSED;

View file

@ -546,6 +546,9 @@ public class PointerTracker {
} }
private void showKeyPreviewAndUpdateKeyGraphics(int keyIndex) { private void showKeyPreviewAndUpdateKeyGraphics(int keyIndex) {
final Key key = getKey(keyIndex);
if (key != null && !key.mEnabled)
return;
updateKeyGraphics(keyIndex); updateKeyGraphics(keyIndex);
// The modifier key, such as shift key, should not be shown as preview when multi-touch is // The modifier key, such as shift key, should not be shown as preview when multi-touch is
// supported. On the other hand, if multi-touch is not supported, the modifier key should // supported. On the other hand, if multi-touch is not supported, the modifier key should
@ -565,6 +568,8 @@ public class PointerTracker {
return; return;
} }
Key key = getKey(keyIndex); Key key = getKey(keyIndex);
if (!key.mEnabled)
return;
if (key.mCode == Keyboard.CODE_SHIFT) { if (key.mCode == Keyboard.CODE_SHIFT) {
mHandler.startLongPressShiftTimer(mLongPressShiftKeyTimeout, keyIndex, this); mHandler.startLongPressShiftTimer(mLongPressShiftKeyTimeout, keyIndex, this);
} else if (key.mManualTemporaryUpperCaseCode != Keyboard.CODE_DUMMY } else if (key.mManualTemporaryUpperCaseCode != Keyboard.CODE_DUMMY