Loading include/input/InputVerifier.h +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ public: const PointerProperties* pointerProperties, const PointerCoords* pointerCoords, int32_t flags, int32_t buttonState); std::string dump() const; void resetDevice(int32_t deviceId); Loading libs/input/InputVerifier.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <android-base/logging.h> #include <com_android_input_flags.h> #include <input/InputVerifier.h> #include <input/PrintTools.h> #include "input_cxx_bridge.rs.h" using android::base::Error; Loading Loading @@ -61,6 +62,11 @@ Result<void> InputVerifier::processMovement(DeviceId deviceId, int32_t source, i } } std::string InputVerifier::dump() const { const rust::String out = android::input::verifier::dump(*mVerifier); return streamableToString(out); } void InputVerifier::resetDevice(DeviceId deviceId) { android::input::verifier::reset_device(*mVerifier, deviceId); } Loading libs/input/rust/input_verifier.rs +5 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,11 @@ impl InputVerifier { self.hovering_pointer_ids_by_device.remove(&device_id); } /// Dump the current state of the verifier pub fn dump(&self) -> String { format!("{:?}", self.touching_pointer_ids_by_device) } fn ensure_touching_pointers_match( &self, device_id: DeviceId, Loading libs/input/rust/lib.rs +5 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ mod ffi { flags: u32, button_state: u32, ) -> String; fn dump(verifier: &InputVerifier) -> String; fn reset_device(verifier: &mut InputVerifier, device_id: i32); } Loading Loading @@ -185,6 +186,10 @@ fn process_movement( } } fn dump(verifier: &InputVerifier) -> String { verifier.dump() } fn reset_device(verifier: &mut InputVerifier, device_id: i32) { verifier.reset_device(DeviceId(device_id)); } Loading services/inputflinger/dispatcher/InputDispatcher.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -6133,6 +6133,13 @@ void InputDispatcher::dumpDispatchStateLocked(std::string& dump) const { const nsecs_t currentTime = now(); dump += addLinePrefix(mConnectionManager.dump(currentTime), INDENT); if (!mInputFilterVerifiersByDisplay.empty()) { for (const auto& [displayId, verifier] : mInputFilterVerifiersByDisplay) { dump += addLinePrefix(std::string("Verifier on ") + displayId.toString() + " : " + verifier.dump(), INDENT); } } // Dump recently dispatched or dropped events from oldest to newest. if (!mRecentQueue.empty()) { Loading Loading
include/input/InputVerifier.h +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ public: const PointerProperties* pointerProperties, const PointerCoords* pointerCoords, int32_t flags, int32_t buttonState); std::string dump() const; void resetDevice(int32_t deviceId); Loading
libs/input/InputVerifier.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <android-base/logging.h> #include <com_android_input_flags.h> #include <input/InputVerifier.h> #include <input/PrintTools.h> #include "input_cxx_bridge.rs.h" using android::base::Error; Loading Loading @@ -61,6 +62,11 @@ Result<void> InputVerifier::processMovement(DeviceId deviceId, int32_t source, i } } std::string InputVerifier::dump() const { const rust::String out = android::input::verifier::dump(*mVerifier); return streamableToString(out); } void InputVerifier::resetDevice(DeviceId deviceId) { android::input::verifier::reset_device(*mVerifier, deviceId); } Loading
libs/input/rust/input_verifier.rs +5 −0 Original line number Diff line number Diff line Loading @@ -393,6 +393,11 @@ impl InputVerifier { self.hovering_pointer_ids_by_device.remove(&device_id); } /// Dump the current state of the verifier pub fn dump(&self) -> String { format!("{:?}", self.touching_pointer_ids_by_device) } fn ensure_touching_pointers_match( &self, device_id: DeviceId, Loading
libs/input/rust/lib.rs +5 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ mod ffi { flags: u32, button_state: u32, ) -> String; fn dump(verifier: &InputVerifier) -> String; fn reset_device(verifier: &mut InputVerifier, device_id: i32); } Loading Loading @@ -185,6 +186,10 @@ fn process_movement( } } fn dump(verifier: &InputVerifier) -> String { verifier.dump() } fn reset_device(verifier: &mut InputVerifier, device_id: i32) { verifier.reset_device(DeviceId(device_id)); } Loading
services/inputflinger/dispatcher/InputDispatcher.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -6133,6 +6133,13 @@ void InputDispatcher::dumpDispatchStateLocked(std::string& dump) const { const nsecs_t currentTime = now(); dump += addLinePrefix(mConnectionManager.dump(currentTime), INDENT); if (!mInputFilterVerifiersByDisplay.empty()) { for (const auto& [displayId, verifier] : mInputFilterVerifiersByDisplay) { dump += addLinePrefix(std::string("Verifier on ") + displayId.toString() + " : " + verifier.dump(), INDENT); } } // Dump recently dispatched or dropped events from oldest to newest. if (!mRecentQueue.empty()) { Loading