From 5766aee030d135875317d742f9c23039a7e382a3 Mon Sep 17 00:00:00 2001 From: Vaibhav Devmurari Date: Fri, 3 Nov 2023 17:21:25 +0000 Subject: Add InputFilter rust component as InputListener stage. Test: TEST=libinputflinger_rs_test; m $TEST && $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST Bug: 294546335 Change-Id: I2731d45f141c12c1e61b794ee614690b0a121e28 --- services/inputflinger/InputManager.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'services/inputflinger/InputManager.cpp') diff --git a/services/inputflinger/InputManager.cpp b/services/inputflinger/InputManager.cpp index 92c65e19b6..8cf61f9064 100644 --- a/services/inputflinger/InputManager.cpp +++ b/services/inputflinger/InputManager.cpp @@ -42,6 +42,7 @@ const bool ENABLE_INPUT_DEVICE_USAGE_METRICS = sysprop::InputProperties::enable_input_device_usage_metrics().value_or(true); const bool ENABLE_POINTER_CHOREOGRAPHER = input_flags::enable_pointer_choreographer(); +const bool ENABLE_INPUT_FILTER_RUST = input_flags::enable_input_filter_rust_impl(); int32_t exceptionCodeFromStatusT(status_t status) { switch (status) { @@ -118,6 +119,7 @@ std::shared_ptr createInputFlingerRust() { * The event flow is via the "InputListener" interface, as follows: * InputReader * -> UnwantedInteractionBlocker + * -> InputFilter * -> PointerChoreographer * -> InputProcessor * -> InputDeviceMetricsCollector @@ -132,6 +134,12 @@ InputManager::InputManager(const sp& readerPolicy, mTracingStages.emplace_back( std::make_unique("InputDispatcher", *mDispatcher)); + if (ENABLE_INPUT_FILTER_RUST) { + mInputFilter = std::make_unique(*mTracingStages.back(), *mInputFlingerRust); + mTracingStages.emplace_back( + std::make_unique("InputFilter", *mInputFilter)); + } + if (ENABLE_INPUT_DEVICE_USAGE_METRICS) { mCollector = std::make_unique(*mTracingStages.back()); mTracingStages.emplace_back( -- cgit v1.2.3-59-g8ed1b