diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg index cdf5df6c6bd32e33c0bbc8246c74c46f6605fa7f..30ed7de92614da35b12517f4813ae95c46fd9f7a 100644 --- a/PREUPLOAD.cfg +++ b/PREUPLOAD.cfg @@ -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/ diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp index 4ef63ae93016046c1040b4e157c4daae7d9adec0..522e1422a4bb5e3de53e66ad9e7e830e8bf5fa1d 100644 --- a/core/jni/android_view_SurfaceControl.cpp +++ b/core/jni/android_view_SurfaceControl.cpp @@ -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> @@ -1619,7 +1620,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 { diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index eacabfd1dbf9faba06efc7e2504cc1c0abf174d4..633f21ceba071b23d1030d8dd80b756abe90f7ab 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -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); } }