Merge "Send input event id to SurfaceFlinger" into sc-dev am: a06b20b4dc

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13436217

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib9977eac27bf038953c96d568ec531ab0ae9f4d5
This commit is contained in:
Siarhei Vishniakou
2021-02-02 00:07:58 +00:00
committed by Automerger Merge Worker
3 changed files with 9 additions and 4 deletions

View File

@@ -8,6 +8,7 @@ clang_format = --commit ${PREUPLOAD_COMMIT} --style file --extensions c,h,cc,cpp
cmds/input/
cmds/uinput/
core/jni/
libs/hwui/
libs/input/
native/
services/core/jni/

View File

@@ -27,6 +27,7 @@
#include <android-base/chrono_utils.h>
#include <android/graphics/region.h>
#include <android/gui/BnScreenCaptureListener.h>
#include <android/os/IInputConstants.h>
#include <android_runtime/AndroidRuntime.h>
#include <android_runtime/android_hardware_HardwareBuffer.h>
#include <android_runtime/android_view_Surface.h>
@@ -1625,7 +1626,8 @@ static void nativeSetFrameTimelineVsync(JNIEnv* env, jclass clazz, jlong transac
jlong frameTimelineVsyncId) {
auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
transaction->setFrameTimelineVsync(frameTimelineVsyncId);
transaction->setFrameTimelineInfo(
{frameTimelineVsyncId, android::os::IInputConstants::INVALID_INPUT_EVENT_ID});
}
class JankDataListenerWrapper : public JankDataListener {

View File

@@ -490,9 +490,11 @@ void CanvasContext::draw() {
if (mNativeSurface) {
// TODO(b/165985262): measure performance impact
if (const auto vsyncId = mCurrentFrameInfo->get(FrameInfoIndex::FrameTimelineVsyncId);
vsyncId != UiFrameInfoBuilder::INVALID_VSYNC_ID) {
native_window_set_frame_timeline_vsync(mNativeSurface->getNativeWindow(), vsyncId);
const auto vsyncId = mCurrentFrameInfo->get(FrameInfoIndex::FrameTimelineVsyncId);
if (vsyncId != UiFrameInfoBuilder::INVALID_VSYNC_ID) {
const auto inputEventId = mCurrentFrameInfo->get(FrameInfoIndex::NewestInputEvent);
native_window_set_frame_timeline_info(mNativeSurface->getNativeWindow(), vsyncId,
inputEventId);
}
}