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

Commit 17bc9abd authored by Michael Wright's avatar Michael Wright Committed by Android (Google) Code Review
Browse files

Merge "Initialize mAffineTransform and update on modification"

parents 9139bd13 12d6baa9
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -2752,6 +2752,11 @@ void TouchInputMapper::configure(nsecs_t when,
        resolveCalibration();
    }

    if (!changes || (changes & InputReaderConfiguration::TOUCH_AFFINE_TRANSFORMATION)) {
        // Update location calibration to reflect current settings
        updateAffineTransformation();
    }

    if (!changes || (changes & InputReaderConfiguration::CHANGE_POINTER_SPEED)) {
        // Update pointer speed.
        mPointerVelocityControl.setParameters(mConfig.pointerVelocityControlParameters);
@@ -3654,6 +3659,10 @@ void TouchInputMapper::dumpAffineTransformation(String8& dump) {
    dump.appendFormat(INDENT4 "Y offset: %0.3f\n", mAffineTransform.y_offset);
}

void TouchInputMapper::updateAffineTransformation() {
    mAffineTransform = getPolicy()->getTouchAffineTransformation(mDevice->getDescriptor());
}

void TouchInputMapper::reset(nsecs_t when) {
    mCursorButtonAccumulator.reset(getDevice());
    mCursorScrollAccumulator.reset(getDevice());
+9 −0
Original line number Diff line number Diff line
@@ -138,6 +138,9 @@ struct InputReaderConfiguration {
        // The device name alias supplied by the may have changed for some devices.
        CHANGE_DEVICE_ALIAS = 1 << 5,

        // The location calibration matrix changed.
        TOUCH_AFFINE_TRANSFORMATION = 1 << 6,

        // All devices must be reopened.
        CHANGE_MUST_REOPEN = 1 << 31,
    };
@@ -304,6 +307,10 @@ public:

    /* Gets a user-supplied alias for a particular input device, or an empty string if none. */
    virtual String8 getDeviceAlias(const InputDeviceIdentifier& identifier) = 0;

    /* Gets the affine calibration associated with the specified device. */
    virtual TouchAffineTransformation getTouchAffineTransformation(
            const String8& inputDeviceDescriptor) = 0;
};


@@ -535,6 +542,7 @@ public:
    inline int32_t getControllerNumber() const { return mControllerNumber; }
    inline int32_t getGeneration() const { return mGeneration; }
    inline const String8& getName() const { return mIdentifier.name; }
    inline const String8& getDescriptor() { return mIdentifier.descriptor; }
    inline uint32_t getClasses() const { return mClasses; }
    inline uint32_t getSources() const { return mSources; }

@@ -1366,6 +1374,7 @@ protected:
    virtual void dumpCalibration(String8& dump);
    virtual void dumpAffineTransformation(String8& dump);
    virtual bool hasStylus() const = 0;
    virtual void updateAffineTransformation();

    virtual void syncTouch(nsecs_t when, bool* outHavePointerIds) = 0;

+4 −0
Original line number Diff line number Diff line
@@ -173,6 +173,10 @@ public:
        return mInputDevices;
    }

    TouchAffineTransformation getTouchAffineTransformation(const String8& inputDeviceDescriptor) {
        return TouchAffineTransformation();
    }

private:
    virtual void getReaderConfiguration(InputReaderConfiguration* outConfig) {
        *outConfig = mConfig;