Loading include/ui/Input.h +5 −0 Original line number Diff line number Diff line Loading @@ -620,6 +620,11 @@ private: // Oldest sample to consider when calculating the velocity. static const nsecs_t MAX_AGE = 200 * 1000000; // 200 ms // When the total duration of the window of samples being averaged is less // than the window size, the resulting velocity is scaled to reduce the impact // of overestimation in short traces. static const nsecs_t MIN_WINDOW = 100 * 1000000; // 100 ms // The minimum duration between samples when estimating velocity. static const nsecs_t MIN_DURATION = 10 * 1000000; // 10 ms Loading libs/ui/Input.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -832,6 +832,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; Loading @@ -858,6 +859,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; Loading libs/utils/Looper.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -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, Loading Loading
include/ui/Input.h +5 −0 Original line number Diff line number Diff line Loading @@ -620,6 +620,11 @@ private: // Oldest sample to consider when calculating the velocity. static const nsecs_t MAX_AGE = 200 * 1000000; // 200 ms // When the total duration of the window of samples being averaged is less // than the window size, the resulting velocity is scaled to reduce the impact // of overestimation in short traces. static const nsecs_t MIN_WINDOW = 100 * 1000000; // 100 ms // The minimum duration between samples when estimating velocity. static const nsecs_t MIN_DURATION = 10 * 1000000; // 10 ms Loading
libs/ui/Input.cpp +9 −0 Original line number Diff line number Diff line Loading @@ -832,6 +832,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; Loading @@ -858,6 +859,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; Loading
libs/utils/Looper.cpp +2 −1 Original line number Diff line number Diff line Loading @@ -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, Loading