Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 96dfedc5 authored by Jeff Brown's avatar Jeff Brown Committed by Android (Google) Code Review
Browse files

Merge "Initial checkin of spot presentation for touchpad gestures."

parents 3426853d 4815f2a6
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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

+9 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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;
+2 −1
Original line number Diff line number Diff line
@@ -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,