Loading services/inputflinger/dispatcher/Android.bp +1 −4 Original line number Diff line number Diff line Loading @@ -56,9 +56,7 @@ filegroup { cc_defaults { name: "libinputdispatcher_defaults", srcs: [ ":libinputdispatcher_sources", ], srcs: [":libinputdispatcher_sources"], shared_libs: [ "libbase", "libbinder", Loading @@ -80,7 +78,6 @@ cc_defaults { "libattestation", "libgui_window_info_static", "libperfetto_client_experimental", "perfetto_winscope_extensions_zero", ], target: { android: { Loading services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.cpp +3 −11 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ #include <android-base/logging.h> #include <binder/IServiceManager.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> #include <private/android_filesystem_config.h> #include <utils/String16.h> Loading Loading @@ -231,9 +229,7 @@ void PerfettoBackend::traceMotionEvent(const TracedMotionEvent& event, } const bool isRedacted = traceLevel == TraceLevel::TRACE_LEVEL_REDACTED; auto tracePacket = ctx.NewTracePacket(); auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>( tracePacket->set_winscope_extensions()); auto* inputEvent = winscopeExtensions->set_android_input_event(); auto* inputEvent = tracePacket->set_android_input_event(); auto* dispatchMotion = isRedacted ? inputEvent->set_dispatcher_motion_event_redacted() : inputEvent->set_dispatcher_motion_event(); AndroidInputEventProtoConverter::toProtoMotionEvent(event, *dispatchMotion, isRedacted); Loading @@ -257,9 +253,7 @@ void PerfettoBackend::traceKeyEvent(const TracedKeyEvent& event, } const bool isRedacted = traceLevel == TraceLevel::TRACE_LEVEL_REDACTED; auto tracePacket = ctx.NewTracePacket(); auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>( tracePacket->set_winscope_extensions()); auto* inputEvent = winscopeExtensions->set_android_input_event(); auto* inputEvent = tracePacket->set_android_input_event(); auto* dispatchKey = isRedacted ? inputEvent->set_dispatcher_key_event_redacted() : inputEvent->set_dispatcher_key_event(); AndroidInputEventProtoConverter::toProtoKeyEvent(event, *dispatchKey, isRedacted); Loading @@ -283,9 +277,7 @@ void PerfettoBackend::traceWindowDispatch(const WindowDispatchArgs& dispatchArgs } const bool isRedacted = traceLevel == TraceLevel::TRACE_LEVEL_REDACTED; auto tracePacket = ctx.NewTracePacket(); auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>( tracePacket->set_winscope_extensions()); auto* inputEvent = winscopeExtensions->set_android_input_event(); auto* inputEvent = tracePacket->set_android_input_event(); auto* dispatchEvent = isRedacted ? inputEvent->set_dispatcher_window_dispatch_event_redacted() : inputEvent->set_dispatcher_window_dispatch_event(); Loading services/inputflinger/tests/InputTraceSession.cpp +30 −42 Original line number Diff line number Diff line Loading @@ -20,9 +20,6 @@ #include <android-base/logging.h> #include <gtest/gtest.h> #include <input/PrintTools.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> #include <utility> Loading @@ -33,8 +30,6 @@ using perfetto::protos::pbzero::AndroidInputEventConfig; using perfetto::protos::pbzero::AndroidKeyEvent; using perfetto::protos::pbzero::AndroidMotionEvent; using perfetto::protos::pbzero::AndroidWindowInputDispatchEvent; using perfetto::protos::pbzero::WinscopeExtensions; using perfetto::protos::pbzero::WinscopeExtensionsImpl; // These operator<< definitions must be in the global namespace for them to be accessible to the // GTEST library. They cannot be in the anonymous namespace. Loading Loading @@ -90,20 +85,11 @@ auto decodeTrace(const std::string& rawTrace) { Trace::Decoder trace{rawTrace}; if (trace.has_packet()) { for (auto it = trace.packet(); it; it++) { auto it = trace.packet(); while (it) { TracePacket::Decoder packet{it->as_bytes()}; if (!packet.has_winscope_extensions()) { continue; } WinscopeExtensions::Decoder extensions{packet.winscope_extensions()}; const auto& field = extensions.Get(WinscopeExtensionsImpl::kAndroidInputEventFieldNumber); if (!field.valid()) { continue; } AndroidInputEvent::Decoder event{field.as_bytes()}; if (packet.has_android_input_event()) { AndroidInputEvent::Decoder event{packet.android_input_event()}; if (event.has_dispatcher_motion_event()) { tracedMotions.emplace_back(event.dispatcher_motion_event(), /*redacted=*/false); Loading @@ -130,6 +116,8 @@ auto decodeTrace(const std::string& rawTrace) { /*redacted=*/true); } } it++; } } return std::tuple{std::move(tracedMotions), std::move(tracedKeys), std::move(tracedWindowDispatches)}; Loading services/inputflinger/tests/InputTraceSession.h +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <gtest/gtest.h> #include <input/Input.h> #include <perfetto/config/android/android_input_event_config.pbzero.h> #include <perfetto/trace/android/android_input_event.pbzero.h> #include <perfetto/trace/trace.pbzero.h> #include <perfetto/tracing.h> #include <variant> Loading services/inputflinger/tests/InputTracingTest.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,6 @@ #include <gtest/gtest.h> #include <input/Input.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> #include <perfetto/trace/trace.pbzero.h> #include <private/android_filesystem_config.h> #include <map> Loading Loading
services/inputflinger/dispatcher/Android.bp +1 −4 Original line number Diff line number Diff line Loading @@ -56,9 +56,7 @@ filegroup { cc_defaults { name: "libinputdispatcher_defaults", srcs: [ ":libinputdispatcher_sources", ], srcs: [":libinputdispatcher_sources"], shared_libs: [ "libbase", "libbinder", Loading @@ -80,7 +78,6 @@ cc_defaults { "libattestation", "libgui_window_info_static", "libperfetto_client_experimental", "perfetto_winscope_extensions_zero", ], target: { android: { Loading
services/inputflinger/dispatcher/trace/InputTracingPerfettoBackend.cpp +3 −11 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ #include <android-base/logging.h> #include <binder/IServiceManager.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> #include <private/android_filesystem_config.h> #include <utils/String16.h> Loading Loading @@ -231,9 +229,7 @@ void PerfettoBackend::traceMotionEvent(const TracedMotionEvent& event, } const bool isRedacted = traceLevel == TraceLevel::TRACE_LEVEL_REDACTED; auto tracePacket = ctx.NewTracePacket(); auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>( tracePacket->set_winscope_extensions()); auto* inputEvent = winscopeExtensions->set_android_input_event(); auto* inputEvent = tracePacket->set_android_input_event(); auto* dispatchMotion = isRedacted ? inputEvent->set_dispatcher_motion_event_redacted() : inputEvent->set_dispatcher_motion_event(); AndroidInputEventProtoConverter::toProtoMotionEvent(event, *dispatchMotion, isRedacted); Loading @@ -257,9 +253,7 @@ void PerfettoBackend::traceKeyEvent(const TracedKeyEvent& event, } const bool isRedacted = traceLevel == TraceLevel::TRACE_LEVEL_REDACTED; auto tracePacket = ctx.NewTracePacket(); auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>( tracePacket->set_winscope_extensions()); auto* inputEvent = winscopeExtensions->set_android_input_event(); auto* inputEvent = tracePacket->set_android_input_event(); auto* dispatchKey = isRedacted ? inputEvent->set_dispatcher_key_event_redacted() : inputEvent->set_dispatcher_key_event(); AndroidInputEventProtoConverter::toProtoKeyEvent(event, *dispatchKey, isRedacted); Loading @@ -283,9 +277,7 @@ void PerfettoBackend::traceWindowDispatch(const WindowDispatchArgs& dispatchArgs } const bool isRedacted = traceLevel == TraceLevel::TRACE_LEVEL_REDACTED; auto tracePacket = ctx.NewTracePacket(); auto* winscopeExtensions = static_cast<perfetto::protos::pbzero::WinscopeExtensionsImpl*>( tracePacket->set_winscope_extensions()); auto* inputEvent = winscopeExtensions->set_android_input_event(); auto* inputEvent = tracePacket->set_android_input_event(); auto* dispatchEvent = isRedacted ? inputEvent->set_dispatcher_window_dispatch_event_redacted() : inputEvent->set_dispatcher_window_dispatch_event(); Loading
services/inputflinger/tests/InputTraceSession.cpp +30 −42 Original line number Diff line number Diff line Loading @@ -20,9 +20,6 @@ #include <android-base/logging.h> #include <gtest/gtest.h> #include <input/PrintTools.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> #include <utility> Loading @@ -33,8 +30,6 @@ using perfetto::protos::pbzero::AndroidInputEventConfig; using perfetto::protos::pbzero::AndroidKeyEvent; using perfetto::protos::pbzero::AndroidMotionEvent; using perfetto::protos::pbzero::AndroidWindowInputDispatchEvent; using perfetto::protos::pbzero::WinscopeExtensions; using perfetto::protos::pbzero::WinscopeExtensionsImpl; // These operator<< definitions must be in the global namespace for them to be accessible to the // GTEST library. They cannot be in the anonymous namespace. Loading Loading @@ -90,20 +85,11 @@ auto decodeTrace(const std::string& rawTrace) { Trace::Decoder trace{rawTrace}; if (trace.has_packet()) { for (auto it = trace.packet(); it; it++) { auto it = trace.packet(); while (it) { TracePacket::Decoder packet{it->as_bytes()}; if (!packet.has_winscope_extensions()) { continue; } WinscopeExtensions::Decoder extensions{packet.winscope_extensions()}; const auto& field = extensions.Get(WinscopeExtensionsImpl::kAndroidInputEventFieldNumber); if (!field.valid()) { continue; } AndroidInputEvent::Decoder event{field.as_bytes()}; if (packet.has_android_input_event()) { AndroidInputEvent::Decoder event{packet.android_input_event()}; if (event.has_dispatcher_motion_event()) { tracedMotions.emplace_back(event.dispatcher_motion_event(), /*redacted=*/false); Loading @@ -130,6 +116,8 @@ auto decodeTrace(const std::string& rawTrace) { /*redacted=*/true); } } it++; } } return std::tuple{std::move(tracedMotions), std::move(tracedKeys), std::move(tracedWindowDispatches)}; Loading
services/inputflinger/tests/InputTraceSession.h +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <gtest/gtest.h> #include <input/Input.h> #include <perfetto/config/android/android_input_event_config.pbzero.h> #include <perfetto/trace/android/android_input_event.pbzero.h> #include <perfetto/trace/trace.pbzero.h> #include <perfetto/tracing.h> #include <variant> Loading
services/inputflinger/tests/InputTracingTest.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,6 @@ #include <gtest/gtest.h> #include <input/Input.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> #include <perfetto/trace/trace.pbzero.h> #include <private/android_filesystem_config.h> #include <map> Loading