From 508ded58272e13370efff97cc0045882a26a399f Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 2 Mar 2012 21:29:51 +0900 Subject: [PATCH] Fix long press behavior of akye that has altCode defined This issue has been introduced by I2bd4daf2 Change-Id: Ie10b3e0bb360986597a0f5a8e5b8253400f924c4 --- .../android/inputmethod/keyboard/LatinKeyboardView.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java index 89dad7be5..e7676c6ad 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java @@ -481,8 +481,11 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke */ protected boolean onLongPress(Key parentKey, PointerTracker tracker) { final int primaryCode = parentKey.mCode; - if (parentKey.mAltCode != Keyboard.CODE_UNSPECIFIED) { - // Long press on a key that has altCode defined. + if (parentKey.mMoreKeys == null && !parentKey.altCodeWhileTyping() + && parentKey.mAltCode != Keyboard.CODE_UNSPECIFIED) { + // Long press on a key that has no more keys and not altCodeWhileTyping but altCode + // defined, such as "0 +" key on phone layout and "/ :" key on datetime + // layout. tracker.onLongPressed(); invokeCodeInput(parentKey.mAltCode); invokeReleaseKey(primaryCode);