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

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

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

parents 6d00ea7a d11f38f6
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>
@@ -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 {
+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);
        }
    }