summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/InputQueue.java
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2010-08-09 18:50:35 -0700
committerJeff Brown <jeffbrown@google.com>2010-08-09 18:50:35 -0700
commit88cf2fca38066e75f9349950c8e6255a91350d97 (patch)
treef3fb8b78b72253f87e8305107792d92287632141 /core/java/android/view/InputQueue.java
parent4edf85abc919b7d0e8db71c0c6166c7994269830 (diff)
downloadframeworks_base-88cf2fca38066e75f9349950c8e6255a91350d97.zip
frameworks_base-88cf2fca38066e75f9349950c8e6255a91350d97.tar.gz
frameworks_base-88cf2fca38066e75f9349950c8e6255a91350d97.tar.bz2
Optimize VelocityTracker to run in linear time.
Uses a linked list for efficient pointer addition and removal. When possible, makes use of the fact that pointer ids are usually in sorted order to avoid quadratic time lookups when adding new data. Fixed an incorrect assumption that the pointer count would always change when old pointers were removed. Also fixed a bug in InputQueue FinishedCallback recycling. Change-Id: Ie048d3bb022d39cf4185e2fe43923a861d94c4f3
Diffstat (limited to 'core/java/android/view/InputQueue.java')
-rw-r--r--core/java/android/view/InputQueue.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/java/android/view/InputQueue.java b/core/java/android/view/InputQueue.java
index 13d8104..43c957a 100644
--- a/core/java/android/view/InputQueue.java
+++ b/core/java/android/view/InputQueue.java
@@ -132,9 +132,9 @@ public final class InputQueue {
synchronized (sLock) {
FinishedCallback callback = sRecycleHead;
if (callback != null) {
- callback.mRecycleNext = null;
sRecycleHead = callback.mRecycleNext;
sRecycleCount -= 1;
+ callback.mRecycleNext = null;
} else {
callback = new FinishedCallback();
}