diff options
author | 2014-02-04 14:04:26 +0900 | |
---|---|---|
committer | 2014-02-04 14:04:26 +0900 | |
commit | 33fd13bf3cc241019d02ff52667dafc68977c05c (patch) | |
tree | c56420fe7bbe17ed891f1f83667d052d521cd03b /java/src | |
parent | 0251c60b4434f702623803b454ac59e8ff2efc4a (diff) | |
download | latinime-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.java | 11 |
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; } |