From 7890448e183f2a61551624ad6d005eb3cf4655a3 Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Thu, 1 Jul 2021 14:10:46 -0700 Subject: [PATCH] plumb display orientation through motionevent for getRaw compatibility Window rotations and ui-toolkit mutation mean we have to store the display orientation separate from the transform for getRaw compatibility Bug: 187686656 Test: cd frameworks/native/services/inputflinger && atest Change-Id: I02a037dbc4fa1645e446bc10f9e53c8d05884ddf --- core/jni/android_view_InputEventSender.cpp | 1 + core/jni/android_view_MotionEvent.cpp | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/jni/android_view_InputEventSender.cpp b/core/jni/android_view_InputEventSender.cpp index 45e3d1b97e833..16366a4e5bec3 100644 --- a/core/jni/android_view_InputEventSender.cpp +++ b/core/jni/android_view_InputEventSender.cpp @@ -155,6 +155,7 @@ status_t NativeInputEventSender::sendMotionEvent(uint32_t seq, const MotionEvent event->getYPrecision(), event->getRawXCursorPosition(), event->getRawYCursorPosition(), + event->getDisplayOrientation(), event->getDisplaySize().x, event->getDisplaySize().y, event->getDownTime(), event->getHistoricalEventTime(i), diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp index 21db198cc2fff..cabf3abe350a2 100644 --- a/core/jni/android_view_MotionEvent.cpp +++ b/core/jni/android_view_MotionEvent.cpp @@ -397,9 +397,9 @@ static jlong android_view_MotionEvent_nativeInitialize( flags, edgeFlags, metaState, buttonState, static_cast(classification), transform, xPrecision, yPrecision, AMOTION_EVENT_INVALID_CURSOR_POSITION, - AMOTION_EVENT_INVALID_CURSOR_POSITION, INVALID_DISPLAY_SIZE, - INVALID_DISPLAY_SIZE, downTimeNanos, eventTimeNanos, pointerCount, - pointerProperties, rawPointerCoords); + AMOTION_EVENT_INVALID_CURSOR_POSITION, ui::Transform::ROT_0, + INVALID_DISPLAY_SIZE, INVALID_DISPLAY_SIZE, downTimeNanos, eventTimeNanos, + pointerCount, pointerProperties, rawPointerCoords); return reinterpret_cast(event.release()); }