diff --git a/core/jni/android_view_InputEventSender.cpp b/core/jni/android_view_InputEventSender.cpp index 3ca43ce915cfd..ac680f6e2611f 100644 --- a/core/jni/android_view_InputEventSender.cpp +++ b/core/jni/android_view_InputEventSender.cpp @@ -144,9 +144,8 @@ status_t NativeInputEventSender::sendMotionEvent(uint32_t seq, const MotionEvent event->getAction(), event->getActionButton(), event->getFlags(), event->getEdgeFlags(), event->getMetaState(), event->getButtonState(), - event->getClassification(), event->getXScale(), - event->getYScale(), event->getXOffset(), - event->getYOffset(), event->getXPrecision(), + event->getClassification(), + event->getTransform(), event->getXPrecision(), event->getYPrecision(), event->getRawXCursorPosition(), event->getRawYCursorPosition(), diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp index 15a91107cbb17..2e396f247979e 100644 --- a/core/jni/android_view_MotionEvent.cpp +++ b/core/jni/android_view_MotionEvent.cpp @@ -369,13 +369,14 @@ static jlong android_view_MotionEvent_nativeInitialize( env->DeleteLocalRef(pointerCoordsObj); } + ui::Transform transform; + transform.set(xOffset, yOffset); event->initialize(InputEvent::nextId(), deviceId, source, displayId, INVALID_HMAC, action, 0, flags, edgeFlags, metaState, buttonState, - static_cast(classification), 1 /*xScale*/, 1 /*yScale*/, - xOffset, yOffset, xPrecision, yPrecision, - AMOTION_EVENT_INVALID_CURSOR_POSITION, AMOTION_EVENT_INVALID_CURSOR_POSITION, - downTimeNanos, eventTimeNanos, pointerCount, pointerProperties, - rawPointerCoords); + static_cast(classification), transform, xPrecision, + yPrecision, AMOTION_EVENT_INVALID_CURSOR_POSITION, + AMOTION_EVENT_INVALID_CURSOR_POSITION, downTimeNanos, eventTimeNanos, + pointerCount, pointerProperties, rawPointerCoords); return reinterpret_cast(event.release()); } @@ -569,9 +570,9 @@ static void android_view_MotionEvent_nativeTransform(JNIEnv* env, jclass clazz, jlong nativePtr, jobject matrixObj) { MotionEvent* event = reinterpret_cast(nativePtr); - float m[9]; - AMatrix_getContents(env, matrixObj, m); - event->transform(m); + std::array matrix; + AMatrix_getContents(env, matrixObj, matrix.data()); + event->transform(matrix); } // ----------------- @CriticalNative ------------------------------