Merge "Send input event id to SurfaceFlinger" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a06b20b4dc
@@ -8,6 +8,7 @@ clang_format = --commit ${PREUPLOAD_COMMIT} --style file --extensions c,h,cc,cpp
|
|||||||
cmds/input/
|
cmds/input/
|
||||||
cmds/uinput/
|
cmds/uinput/
|
||||||
core/jni/
|
core/jni/
|
||||||
|
libs/hwui/
|
||||||
libs/input/
|
libs/input/
|
||||||
native/
|
native/
|
||||||
services/core/jni/
|
services/core/jni/
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
#include <android-base/chrono_utils.h>
|
#include <android-base/chrono_utils.h>
|
||||||
#include <android/graphics/region.h>
|
#include <android/graphics/region.h>
|
||||||
#include <android/gui/BnScreenCaptureListener.h>
|
#include <android/gui/BnScreenCaptureListener.h>
|
||||||
|
#include <android/os/IInputConstants.h>
|
||||||
#include <android_runtime/AndroidRuntime.h>
|
#include <android_runtime/AndroidRuntime.h>
|
||||||
#include <android_runtime/android_hardware_HardwareBuffer.h>
|
#include <android_runtime/android_hardware_HardwareBuffer.h>
|
||||||
#include <android_runtime/android_view_Surface.h>
|
#include <android_runtime/android_view_Surface.h>
|
||||||
@@ -1625,7 +1626,8 @@ static void nativeSetFrameTimelineVsync(JNIEnv* env, jclass clazz, jlong transac
|
|||||||
jlong frameTimelineVsyncId) {
|
jlong frameTimelineVsyncId) {
|
||||||
auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
|
auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
|
||||||
|
|
||||||
transaction->setFrameTimelineVsync(frameTimelineVsyncId);
|
transaction->setFrameTimelineInfo(
|
||||||
|
{frameTimelineVsyncId, android::os::IInputConstants::INVALID_INPUT_EVENT_ID});
|
||||||
}
|
}
|
||||||
|
|
||||||
class JankDataListenerWrapper : public JankDataListener {
|
class JankDataListenerWrapper : public JankDataListener {
|
||||||
|
|||||||
@@ -490,9 +490,11 @@ void CanvasContext::draw() {
|
|||||||
|
|
||||||
if (mNativeSurface) {
|
if (mNativeSurface) {
|
||||||
// TODO(b/165985262): measure performance impact
|
// TODO(b/165985262): measure performance impact
|
||||||
if (const auto vsyncId = mCurrentFrameInfo->get(FrameInfoIndex::FrameTimelineVsyncId);
|
const auto vsyncId = mCurrentFrameInfo->get(FrameInfoIndex::FrameTimelineVsyncId);
|
||||||
vsyncId != UiFrameInfoBuilder::INVALID_VSYNC_ID) {
|
if (vsyncId != UiFrameInfoBuilder::INVALID_VSYNC_ID) {
|
||||||
native_window_set_frame_timeline_vsync(mNativeSurface->getNativeWindow(), vsyncId);
|
const auto inputEventId = mCurrentFrameInfo->get(FrameInfoIndex::NewestInputEvent);
|
||||||
|
native_window_set_frame_timeline_info(mNativeSurface->getNativeWindow(), vsyncId,
|
||||||
|
inputEventId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user