diff options
author | Jeff Brown <jeffbrown@google.com> | 2010-08-09 18:50:35 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2010-08-09 18:50:35 -0700 |
commit | 88cf2fca38066e75f9349950c8e6255a91350d97 (patch) | |
tree | f3fb8b78b72253f87e8305107792d92287632141 /core/java/android/view/InputQueue.java | |
parent | 4edf85abc919b7d0e8db71c0c6166c7994269830 (diff) | |
download | frameworks_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.java | 2 |
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(); } |