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

Commit fd03b1b4 authored by Chris Ye's avatar Chris Ye Committed by Automerger Merge Worker
Browse files

Fix MultiTouchInputMapperTest#Process_TouchpadCapture test failure. am:...

Fix MultiTouchInputMapperTest#Process_TouchpadCapture test failure. am: dca44af7 am: 0c74a52f am: 5418a03d

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1447898

Change-Id: Ib9edda94e621a1a149d6b9ed3f2619775307c77b
parents 1cb0fe4f 5418a03d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -316,7 +316,7 @@ void CursorInputMapper::sync(nsecs_t when) {

    mPointerVelocityControl.move(when, &deltaX, &deltaY);

    int32_t displayId;
    int32_t displayId = ADISPLAY_ID_NONE;
    float xCursorPosition = AMOTION_EVENT_INVALID_CURSOR_POSITION;
    float yCursorPosition = AMOTION_EVENT_INVALID_CURSOR_POSITION;
    if (mSource == AINPUT_SOURCE_MOUSE) {
@@ -340,12 +340,12 @@ void CursorInputMapper::sync(nsecs_t when) {
        pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_X, deltaX);
        pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_Y, deltaY);
        displayId = mPointerController->getDisplayId();
    } else {
    } else if (mSource == AINPUT_SOURCE_MOUSE_RELATIVE) {
        // Pointer capture mode
        pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_X, deltaX);
        pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_Y, deltaY);
        pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_X, deltaX);
        pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_RELATIVE_Y, deltaY);
        displayId = ADISPLAY_ID_NONE;
    }

    pointerCoords.setAxisValue(AMOTION_EVENT_AXIS_PRESSURE, down ? 1.0f : 0.0f);
+3 −2
Original line number Diff line number Diff line
@@ -1780,7 +1780,8 @@ bool TouchInputMapper::consumeRawTouches(nsecs_t when, uint32_t policyFlags) {
        // Pointer just went down.  Check for virtual key press or off-screen touches.
        uint32_t id = mCurrentRawState.rawPointerData.touchingIdBits.firstMarkedBit();
        const RawPointerData::Pointer& pointer = mCurrentRawState.rawPointerData.pointerForId(id);
        if (!isPointInsideSurface(pointer.x, pointer.y)) {
        // Exclude unscaled device for inside surface checking.
        if (!isPointInsideSurface(pointer.x, pointer.y) && mDeviceMode != DeviceMode::UNSCALED) {
            // If exactly one pointer went down, check for virtual key hit.
            // Otherwise we will drop the entire stroke.
            if (mCurrentRawState.rawPointerData.touchingIdBits.count() == 1) {
@@ -2274,7 +2275,7 @@ void TouchInputMapper::cookPointerData() {
            out.setAxisValue(AMOTION_EVENT_AXIS_TOOL_MINOR, toolMinor);
        }

        // Write output relative fieldis if applicable.
        // Write output relative fields if applicable.
        uint32_t id = in.id;
        if (mSource == AINPUT_SOURCE_TOUCHPAD &&
            mLastCookedState.cookedPointerData.hasPointerCoordsForId(id)) {
+3 −1
Original line number Diff line number Diff line
@@ -7558,6 +7558,7 @@ TEST_F(MultiTouchInputMapperTest, Process_TouchpadCapture) {
    //                              identical to what the hardware sends (accounting for any
    //                              calibration).
    // FINGER 0 DOWN
    processSlot(mapper, 0);
    processId(mapper, 1);
    processPosition(mapper, 100 + RAW_X_MIN, 100 + RAW_Y_MIN);
    processKey(mapper, BTN_TOUCH, 1);
@@ -7581,7 +7582,8 @@ TEST_F(MultiTouchInputMapperTest, Process_TouchpadCapture) {

    // expect coord[0] to contain previous location, coord[1] to contain new touch 1 location
    ASSERT_NO_FATAL_FAILURE(mFakeListener->assertNotifyMotionWasCalled(&args));
    ASSERT_EQ(AMOTION_EVENT_ACTION_POINTER_DOWN | 0x0100, args.action);
    ASSERT_EQ(AMOTION_EVENT_ACTION_POINTER_DOWN | (1 << AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT),
            args.action);
    ASSERT_EQ(2U, args.pointerCount);
    ASSERT_EQ(0, args.pointerProperties[0].id);
    ASSERT_EQ(1, args.pointerProperties[1].id);