aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2013-05-15 12:53:07 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-05-15 12:53:07 -0700
commit7a876b3114dc977283248672c309359223ed678f (patch)
tree42507f92c88bd7194d19c0a99cbd8bb0fe4df20d /java/src
parent94ad2ef7627cce6f9fa0203164011c822ec59d86 (diff)
parent813ba9f5262c59ba99efdcf838036ae3b7e2dd0c (diff)
downloadlatinime-7a876b3114dc977283248672c309359223ed678f.tar.gz
latinime-7a876b3114dc977283248672c309359223ed678f.tar.xz
latinime-7a876b3114dc977283248672c309359223ed678f.zip
am 813ba9f5: am 6b0bcfba: Merge "Disable long press timer while sliding input mode"
* commit '813ba9f5262c59ba99efdcf838036ae3b7e2dd0c': Disable long press timer while sliding input mode
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/keyboard/Key.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/PointerTracker.java12
3 files changed, 11 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index d160038ad..1550e77e3 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -105,7 +105,7 @@ public class Key implements Comparable<Key> {
/** Hit bounding box of the key */
public final Rect mHitBox = new Rect();
- /** More keys */
+ /** More keys. It is guaranteed that this is null or an array of one or more elements */
public final MoreKeySpec[] mMoreKeys;
/** More keys column number and flags */
private final int mMoreKeysColumnAndFlags;
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index e4e75c342..7941fcba2 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -497,7 +497,7 @@ public class KeyboardView extends View {
}
}
- if (key.hasPopupHint() && key.mMoreKeys != null && key.mMoreKeys.length > 0) {
+ if (key.hasPopupHint() && key.mMoreKeys != null) {
drawKeyPopupHint(key, canvas, paint, params);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index 71b885c0c..5a2af8015 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -1306,9 +1306,15 @@ public final class PointerTracker implements PointerTrackerQueue.Element {
}
private void startLongPressTimer(final Key key) {
- if (key != null && key.isLongPressEnabled() && !sInGesture) {
- mTimerProxy.startLongPressTimer(this);
- }
+ if (sInGesture) return;
+ if (key == null) return;
+ if (!key.isLongPressEnabled()) return;
+ // Caveat: Please note that isLongPressEnabled() can be true even if the current key
+ // doesn't have its more keys. (e.g. spacebar, globe key)
+ // We always need to start the long press timer if the key has its more keys regardless of
+ // whether or not we are in the sliding input mode.
+ if (mIsInSlidingKeyInputFromModifier && key.mMoreKeys == null) return;
+ mTimerProxy.startLongPressTimer(this);
}
private void detectAndSendKey(final Key key, final int x, final int y, final long eventTime) {