Let InputFlinger generate event IDs.
Also send event IDs via InputMessage and add some atrace calls to form a
complete chain of input event processing.
Bug: 144889238
Test: systrace shows correct event IDs.
Test: atest inputflinger_tests
Change-Id: I3c561b03b0ba75c22115ae020e6b41855686ab64
diff --git a/services/inputflinger/dispatcher/InputState.h b/services/inputflinger/dispatcher/InputState.h
index 08266ae..d97a664 100644
--- a/services/inputflinger/dispatcher/InputState.h
+++ b/services/inputflinger/dispatcher/InputState.h
@@ -30,7 +30,7 @@
* synthesized when events are dropped. */
class InputState {
public:
- InputState();
+ explicit InputState(const IdGenerator& idGenerator);
~InputState();
// Returns true if there is no state to be canceled.
@@ -111,6 +111,8 @@
void mergePointerStateTo(MotionMemento& other) const;
};
+ const IdGenerator& mIdGenerator; // InputDispatcher owns it so we won't have dangling reference.
+
std::vector<KeyMemento> mKeyMementos;
std::vector<MotionMemento> mMotionMementos;
KeyedVector<int32_t, int32_t> mFallbackKeys;