From f28044d2d0003c9fcc762b84a920a59d92dc5f2a Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Fri, 16 Apr 2021 11:01:25 -0700 Subject: [PATCH] Part of compatibility getRaw() support Many apps currently mis-use getRaw APIs assuming they just mean screen-space. Until they are educated about it, we need to add this compatibility layer to apply rotation-only to getRaw API output. This is a small part of the change, the rest is in frameworks/native. Bug: 179274888 Test: atest inputflinger_tests:InputDispatcherTest Change-Id: I5f3ddf885f6b348201bfc92be128d9a36104abc8 --- core/jni/android_view_InputEventSender.cpp | 3 ++- core/jni/android_view_MotionEvent.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/jni/android_view_InputEventSender.cpp b/core/jni/android_view_InputEventSender.cpp index fd1b9981e8af3..45e3d1b97e833 100644 --- a/core/jni/android_view_InputEventSender.cpp +++ b/core/jni/android_view_InputEventSender.cpp @@ -155,7 +155,8 @@ status_t NativeInputEventSender::sendMotionEvent(uint32_t seq, const MotionEvent event->getYPrecision(), event->getRawXCursorPosition(), event->getRawYCursorPosition(), - event->getDownTime(), + event->getDisplaySize().x, + event->getDisplaySize().y, event->getDownTime(), event->getHistoricalEventTime(i), event->getPointerCount(), event->getPointerProperties(), diff --git a/core/jni/android_view_MotionEvent.cpp b/core/jni/android_view_MotionEvent.cpp index 832c0665488e2..5acbd98822e16 100644 --- a/core/jni/android_view_MotionEvent.cpp +++ b/core/jni/android_view_MotionEvent.cpp @@ -378,7 +378,8 @@ 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, downTimeNanos, eventTimeNanos, + AMOTION_EVENT_INVALID_CURSOR_POSITION, AMOTION_EVENT_INVALID_DISPLAY_SIZE, + AMOTION_EVENT_INVALID_DISPLAY_SIZE, downTimeNanos, eventTimeNanos, pointerCount, pointerProperties, rawPointerCoords); return reinterpret_cast(event.release());