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

Commit 95c27259 authored by Satoshi Kataoka's avatar Satoshi Kataoka Committed by Android (Google) Code Review
Browse files

Merge "Step 40-A Cleanup touch path" into jb-mr1-dev

parents 923a6a31 37b153e2
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -84,12 +84,13 @@ void ProximityInfoState::initInputParams(const int pointerId, const float maxPoi
            // Assuming pointerId == 0 if pointerIds is null.
            const int pid = pointerIds ? pointerIds[i] : 0;
            if (pointerId == pid) {
                ++mInputSize;
                const int c = isGeometric ? NOT_A_COORDINATE : getPrimaryCharAt(i);
                const int x = proximityOnly ? NOT_A_COORDINATE : xCoordinates[i];
                const int y = proximityOnly ? NOT_A_COORDINATE : yCoordinates[i];
                const int time = times ? times[i] : -1;
                pushTouchPoint(c, x, y, time, isGeometric);
                if (pushTouchPoint(c, x, y, time, isGeometric)) {
                    ++mInputSize;
                }
            }
        }
    }
@@ -152,7 +153,7 @@ void ProximityInfoState::initInputParams(const int pointerId, const float maxPoi
    }
}

void ProximityInfoState::pushTouchPoint(const int nodeChar, int x, int y,
bool ProximityInfoState::pushTouchPoint(const int nodeChar, int x, int y,
        const int time, const bool sample) {
    const uint32_t size = mInputXs.size();
    // TODO: Should have a const variable for 10
@@ -160,7 +161,7 @@ void ProximityInfoState::pushTouchPoint(const int nodeChar, int x, int y,
    if (size > 0) {
        const int dist = getDistanceInt(x, y, mInputXs[size - 1], mInputYs[size - 1]);
        if (sample && dist < sampleRate) {
            return;
            return false;
        }
        mLengthCache.push_back(mLengthCache[size - 1] + dist);
    } else {
@@ -176,6 +177,7 @@ void ProximityInfoState::pushTouchPoint(const int nodeChar, int x, int y,
    mInputXs.push_back(x);
    mInputYs.push_back(y);
    mTimes.push_back(time);
    return true;
}

float ProximityInfoState::calculateNormalizedSquaredDistance(
@@ -196,11 +198,11 @@ float ProximityInfoState::calculateNormalizedSquaredDistance(
}

int ProximityInfoState::getDuration(const int index) const {
    if (mTimes.size() == 0 || index <= 0 || index >= static_cast<int>(mInputSize) - 1) {
        return 0;
    }
    if (mInputSize > 0 && index > 0 && index < static_cast<int>(mInputSize) - 1) {
        return mTimes[index + 1] - mTimes[index - 1];
    }
    return 0;
}

float ProximityInfoState::getPointToKeyLength(int inputIndex, int charCode, float scale) {
    const int keyId = mProximityInfo->getKeyIndex(charCode);
+17 −1
Original line number Diff line number Diff line
@@ -192,6 +192,22 @@ class ProximityInfoState {
        return mInputSize > 0;
    }

    uint32_t size() const {
        return mInputSize;
    }

    int getInputX(int index) const {
        return mInputXs[index];
    }

    int getInputY(int index) const {
        return mInputYs[index];
    }

    int getLengthCache(int index) const {
        return mLengthCache[index];
    }

    float getPointToKeyLength(int inputIndex, int charCode, float scale);

    int getKeyKeyDistance(int key0, int key1);
@@ -208,7 +224,7 @@ class ProximityInfoState {
    float calculateSquaredDistanceFromSweetSpotCenter(
            const int keyIndex, const int inputIndex) const;

    void pushTouchPoint(const int nodeChar, int x, int y, const int time, const bool sample);
    bool pushTouchPoint(const int nodeChar, int x, int y, const int time, const bool sample);
    /////////////////////////////////////////
    // Defined here                        //
    /////////////////////////////////////////