aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-02-04 14:04:26 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-02-04 14:04:26 +0900
commit33fd13bf3cc241019d02ff52667dafc68977c05c (patch)
treec56420fe7bbe17ed891f1f83667d052d521cd03b /java/src
parent0251c60b4434f702623803b454ac59e8ff2efc4a (diff)
downloadlatinime-33fd13bf3cc241019d02ff52667dafc68977c05c.tar.gz
latinime-33fd13bf3cc241019d02ff52667dafc68977c05c.tar.xz
latinime-33fd13bf3cc241019d02ff52667dafc68977c05c.zip
Check timestamp for each pointer.
Bug: 11325631 Change-Id: I4e296cdeccf21323c5732754e86c3a4075ccf82a
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/InputPointers.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/InputPointers.java b/java/src/com/android/inputmethod/latin/InputPointers.java
index c3bcf3785..47bc6b078 100644
--- a/java/src/com/android/inputmethod/latin/InputPointers.java
+++ b/java/src/com/android/inputmethod/latin/InputPointers.java
@@ -17,6 +17,7 @@
package com.android.inputmethod.latin;
import android.util.Log;
+import android.util.SparseIntArray;
import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.utils.ResizableIntArray;
@@ -160,15 +161,21 @@ public final class InputPointers {
private boolean isValidTimeStamps() {
final int[] times = mTimes.getPrimitiveArray();
+ final int[] pointerIds = mPointerIds.getPrimitiveArray();
+ final SparseIntArray lastTimeOfPointers = new SparseIntArray();
final int size = getPointerSize();
- for (int i = 1; i < size; ++i) {
- if (times[i] < times[i - 1]) {
+ for (int i = 0; i < size; ++i) {
+ final int pointerId = pointerIds[i];
+ final int time = times[i];
+ final int lastTime = lastTimeOfPointers.get(pointerId, time);
+ if (time < lastTime) {
// dump
for (int j = 0; j < size; ++j) {
Log.d(TAG, "--- (" + j + ") " + times[j]);
}
return false;
}
+ lastTimeOfPointers.put(pointerId, time);
}
return true;
}