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

Commit 0add9bb3 authored by Siarhei Vishniakou's avatar Siarhei Vishniakou Committed by Automerger Merge Worker
Browse files

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

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib9977eac27bf038953c96d568ec531ab0ae9f4d5
parents 139f6ec4 a06b20b4
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);
        }
    }