diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-05-25 14:46:53 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-05-25 14:46:53 -0700 |
commit | 3c2fb0242b0ec21101959dfa08aad3162a523634 (patch) | |
tree | 5f338cb0714dbe36988431320f8919576d91009a /libs | |
parent | 13412d31650366f41b1f3d9f429cb0a01dd575ef (diff) | |
parent | 8148cc3e47e50c916066e2fed562618b5827188f (diff) | |
download | frameworks_base-3c2fb0242b0ec21101959dfa08aad3162a523634.zip frameworks_base-3c2fb0242b0ec21101959dfa08aad3162a523634.tar.gz frameworks_base-3c2fb0242b0ec21101959dfa08aad3162a523634.tar.bz2 |
am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
* commit '8148cc3e47e50c916066e2fed562618b5827188f':
Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ui/Input.cpp | 9 | ||||
-rw-r--r-- | libs/utils/Looper.cpp | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libs/ui/Input.cpp b/libs/ui/Input.cpp index 0a53d69..684c332 100644 --- a/libs/ui/Input.cpp +++ b/libs/ui/Input.cpp @@ -831,6 +831,7 @@ bool VelocityTracker::getVelocity(uint32_t id, float* outVx, float* outVy) const const Position& oldestPosition = oldestMovement.positions[oldestMovement.idBits.getIndexOfBit(id)]; nsecs_t lastDuration = 0; + while (numTouches-- > 1) { if (++index == HISTORY_SIZE) { index = 0; @@ -857,6 +858,14 @@ bool VelocityTracker::getVelocity(uint32_t id, float* outVx, float* outVy) const // Make sure we used at least one sample. if (samplesUsed != 0) { + // Scale the velocity linearly if the window of samples is small. + nsecs_t totalDuration = newestMovement.eventTime - oldestMovement.eventTime; + if (totalDuration < MIN_WINDOW) { + float scale = float(totalDuration) / float(MIN_WINDOW); + accumVx *= scale; + accumVy *= scale; + } + *outVx = accumVx; *outVy = accumVy; return true; diff --git a/libs/utils/Looper.cpp b/libs/utils/Looper.cpp index d5dd126..b54fb9d 100644 --- a/libs/utils/Looper.cpp +++ b/libs/utils/Looper.cpp @@ -662,7 +662,8 @@ void Looper::wakeAndLock() { #endif void Looper::sendMessage(const sp<MessageHandler>& handler, const Message& message) { - sendMessageAtTime(LLONG_MIN, handler, message); + nsecs_t now = systemTime(SYSTEM_TIME_MONOTONIC); + sendMessageAtTime(now, handler, message); } void Looper::sendMessageDelayed(nsecs_t uptimeDelay, const sp<MessageHandler>& handler, |