Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28a4a657 authored by Siarhei Vishniakou's avatar Siarhei Vishniakou Committed by Android (Google) Code Review
Browse files

Merge "Send input event id to SurfaceFlinger"

parents 2597d448 60137079
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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/
+3 −1
Original line number Diff line number Diff line
@@ -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>
@@ -1618,7 +1619,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 {
+5 −3
Original line number Diff line number Diff line
@@ -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);
        }
    }