AndroidInputEvent: Migrate from TracePacket to WinscopeExtenstions
Bug: 332714237
Test: atest inputflinger_tests
Change-Id: I00dc546f6628ad8a33d0f6a6c1bbda10a24ed46e
Merged-In: I00dc546f6628ad8a33d0f6a6c1bbda10a24ed46e
diff --git a/services/inputflinger/dispatcher/Android.bp b/services/inputflinger/dispatcher/Android.bp
index 6d71acc..70c3ad1 100644
--- a/services/inputflinger/dispatcher/Android.bp
+++ b/services/inputflinger/dispatcher/Android.bp
@@ -56,7 +56,9 @@
cc_defaults {
name: "libinputdispatcher_defaults",
- srcs: [":libinputdispatcher_sources"],
+ srcs: [
+ ":libinputdispatcher_sources",
+ ],
shared_libs: [
"libbase",
"libcrypto",
@@ -75,6 +77,7 @@
"libattestation",
"libgui_window_info_static",
"libperfetto_client_experimental",
+ "perfetto_winscope_extensions_zero",
],
target: {
android: {
diff --git a/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.cpp b/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.cpp
index 46ad9e1..6fcc015 100644
--- a/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.cpp
+++ b/services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.cpp
@@ -22,6 +22,8 @@
#include <android-base/logging.h>
#include <perfetto/trace/android/android_input_event.pbzero.h>
+#include <perfetto/trace/android/winscope_extensions.pbzero.h>
+#include <perfetto/trace/android/winscope_extensions_impl.pbzero.h>
namespace android::inputdispatcher::trace::impl {
@@ -66,7 +68,9 @@
void PerfettoBackend::traceMotionEvent(const TracedMotionEvent& event) {
InputEventDataSource::Trace([&](InputEventDataSource::TraceContext ctx) {
auto tracePacket = ctx.NewTracePacket();
- auto* inputEvent = tracePacket->set_android_input_event();
+ auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>(
+ tracePacket->set_winscope_extensions());
+ auto* inputEvent = winscopeExtensions->set_android_input_event();
auto* dispatchMotion = inputEvent->set_dispatcher_motion_event();
AndroidInputEventProtoConverter::toProtoMotionEvent(event, *dispatchMotion);
});
@@ -75,7 +79,9 @@
void PerfettoBackend::traceKeyEvent(const TracedKeyEvent& event) {
InputEventDataSource::Trace([&](InputEventDataSource::TraceContext ctx) {
auto tracePacket = ctx.NewTracePacket();
- auto* inputEvent = tracePacket->set_android_input_event();
+ auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>(
+ tracePacket->set_winscope_extensions());
+ auto* inputEvent = winscopeExtensions->set_android_input_event();
auto* dispatchKey = inputEvent->set_dispatcher_key_event();
AndroidInputEventProtoConverter::toProtoKeyEvent(event, *dispatchKey);
});
@@ -84,7 +90,9 @@
void PerfettoBackend::traceWindowDispatch(const WindowDispatchArgs& dispatchArgs) {
InputEventDataSource::Trace([&](InputEventDataSource::TraceContext ctx) {
auto tracePacket = ctx.NewTracePacket();
- auto* inputEventProto = tracePacket->set_android_input_event();
+ auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>(
+ tracePacket->set_winscope_extensions());
+ auto* inputEventProto = winscopeExtensions->set_android_input_event();
auto* dispatchEventProto = inputEventProto->set_dispatcher_window_dispatch_event();
AndroidInputEventProtoConverter::toProtoWindowDispatchEvent(dispatchArgs,
*dispatchEventProto);