Loading include/input/Input.h +23 −8 Original line number Diff line number Diff line Loading @@ -210,7 +210,20 @@ vec2 transformWithoutTranslation(const ui::Transform& transform, const vec2& xy) */ float transformAngle(const ui::Transform& transform, float angleRadians); const char* inputEventTypeToString(int32_t type); /** * The type of the InputEvent. * This should have 1:1 correspondence with the values of anonymous enum defined in input.h. */ enum class InputEventType { KEY = AINPUT_EVENT_TYPE_KEY, MOTION = AINPUT_EVENT_TYPE_MOTION, FOCUS = AINPUT_EVENT_TYPE_FOCUS, CAPTURE = AINPUT_EVENT_TYPE_CAPTURE, DRAG = AINPUT_EVENT_TYPE_DRAG, TOUCH_MODE = AINPUT_EVENT_TYPE_TOUCH_MODE, ftl_first = KEY, ftl_last = TOUCH_MODE, }; std::string inputEventSourceToString(int32_t source); Loading Loading @@ -482,7 +495,7 @@ class InputEvent : public AInputEvent { public: virtual ~InputEvent() { } virtual int32_t getType() const = 0; virtual InputEventType getType() const = 0; inline int32_t getId() const { return mId; } Loading Loading @@ -513,6 +526,8 @@ protected: std::array<uint8_t, 32> mHmac; }; std::ostream& operator<<(std::ostream& out, const InputEvent& event); /* * Key events. */ Loading @@ -520,7 +535,7 @@ class KeyEvent : public InputEvent { public: virtual ~KeyEvent() { } virtual int32_t getType() const { return AINPUT_EVENT_TYPE_KEY; } virtual InputEventType getType() const { return InputEventType::KEY; } inline int32_t getAction() const { return mAction; } Loading Loading @@ -571,7 +586,7 @@ class MotionEvent : public InputEvent { public: virtual ~MotionEvent() { } virtual int32_t getType() const { return AINPUT_EVENT_TYPE_MOTION; } virtual InputEventType getType() const { return InputEventType::MOTION; } inline int32_t getAction() const { return mAction; } Loading Loading @@ -899,7 +914,7 @@ class FocusEvent : public InputEvent { public: virtual ~FocusEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_FOCUS; } virtual InputEventType getType() const override { return InputEventType::FOCUS; } inline bool getHasFocus() const { return mHasFocus; } Loading @@ -918,7 +933,7 @@ class CaptureEvent : public InputEvent { public: virtual ~CaptureEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_CAPTURE; } virtual InputEventType getType() const override { return InputEventType::CAPTURE; } inline bool getPointerCaptureEnabled() const { return mPointerCaptureEnabled; } Loading @@ -937,7 +952,7 @@ class DragEvent : public InputEvent { public: virtual ~DragEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_DRAG; } virtual InputEventType getType() const override { return InputEventType::DRAG; } inline bool isExiting() const { return mIsExiting; } Loading @@ -961,7 +976,7 @@ class TouchModeEvent : public InputEvent { public: virtual ~TouchModeEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_TOUCH_MODE; } virtual InputEventType getType() const override { return InputEventType::TOUCH_MODE; } inline bool isInTouchMode() const { return mIsInTouchMode; } Loading libs/gui/tests/EndToEndNativeInputTest.cpp +9 −9 Original line number Diff line number Diff line Loading @@ -164,7 +164,7 @@ public: void assertFocusChange(bool hasFocus) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_FOCUS, ev->getType()); ASSERT_EQ(InputEventType::FOCUS, ev->getType()); FocusEvent *focusEvent = static_cast<FocusEvent *>(ev); EXPECT_EQ(hasFocus, focusEvent->getHasFocus()); } Loading @@ -172,7 +172,7 @@ public: void expectTap(int x, int y) { InputEvent* ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); MotionEvent* mev = static_cast<MotionEvent*>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, mev->getAction()); EXPECT_EQ(x, mev->getX(0)); Loading @@ -181,7 +181,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); mev = static_cast<MotionEvent*>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, mev->getAction()); EXPECT_EQ(0, mev->getFlags() & VERIFIED_MOTION_EVENT_FLAGS); Loading @@ -190,7 +190,7 @@ public: void expectTapWithFlag(int x, int y, int32_t flags) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); MotionEvent *mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, mev->getAction()); EXPECT_EQ(x, mev->getX(0)); Loading @@ -199,7 +199,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, mev->getAction()); EXPECT_EQ(flags, mev->getFlags() & flags); Loading @@ -208,7 +208,7 @@ public: void expectTapInDisplayCoordinates(int displayX, int displayY) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); MotionEvent *mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, mev->getAction()); const PointerCoords &coords = *mev->getRawPointerCoords(0 /*pointerIndex*/); Loading @@ -218,7 +218,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, mev->getAction()); EXPECT_EQ(0, mev->getFlags() & VERIFIED_MOTION_EVENT_FLAGS); Loading @@ -227,7 +227,7 @@ public: void expectKey(uint32_t keycode) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_KEY, ev->getType()); ASSERT_EQ(InputEventType::KEY, ev->getType()); KeyEvent *keyEvent = static_cast<KeyEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, keyEvent->getAction()); EXPECT_EQ(keycode, keyEvent->getKeyCode()); Loading @@ -235,7 +235,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_KEY, ev->getType()); ASSERT_EQ(InputEventType::KEY, ev->getType()); keyEvent = static_cast<KeyEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, keyEvent->getAction()); EXPECT_EQ(keycode, keyEvent->getKeyCode()); Loading libs/input/Input.cpp +70 −56 Original line number Diff line number Diff line Loading @@ -170,30 +170,6 @@ float transformAngle(const ui::Transform& transform, float angleRadians) { return atan2f(transformedPoint.x, -transformedPoint.y); } const char* inputEventTypeToString(int32_t type) { switch (type) { case AINPUT_EVENT_TYPE_KEY: { return "KEY"; } case AINPUT_EVENT_TYPE_MOTION: { return "MOTION"; } case AINPUT_EVENT_TYPE_FOCUS: { return "FOCUS"; } case AINPUT_EVENT_TYPE_CAPTURE: { return "CAPTURE"; } case AINPUT_EVENT_TYPE_DRAG: { return "DRAG"; } case AINPUT_EVENT_TYPE_TOUCH_MODE: { return "TOUCH_MODE"; } } return "UNKNOWN"; } std::string inputEventSourceToString(int32_t source) { if (source == AINPUT_SOURCE_UNKNOWN) { return "UNKNOWN"; Loading Loading @@ -287,6 +263,37 @@ int32_t InputEvent::nextId() { return idGen.nextId(); } std::ostream& operator<<(std::ostream& out, const InputEvent& event) { switch (event.getType()) { case InputEventType::KEY: { const KeyEvent& keyEvent = static_cast<const KeyEvent&>(event); out << keyEvent; return out; } case InputEventType::MOTION: { const MotionEvent& motionEvent = static_cast<const MotionEvent&>(event); out << motionEvent; return out; } case InputEventType::FOCUS: { out << "FocusEvent"; return out; } case InputEventType::CAPTURE: { out << "CaptureEvent"; return out; } case InputEventType::DRAG: { out << "DragEvent"; return out; } case InputEventType::TOUCH_MODE: { out << "TouchModeEvent"; return out; } } } // --- KeyEvent --- const char* KeyEvent::getLabel(int32_t keyCode) { Loading Loading @@ -1165,38 +1172,44 @@ TouchModeEvent* PooledInputEventFactory::createTouchModeEvent() { void PooledInputEventFactory::recycle(InputEvent* event) { switch (event->getType()) { case AINPUT_EVENT_TYPE_KEY: case InputEventType::KEY: { if (mKeyEventPool.size() < mMaxPoolSize) { mKeyEventPool.push(std::unique_ptr<KeyEvent>(static_cast<KeyEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_MOTION: } case InputEventType::MOTION: { if (mMotionEventPool.size() < mMaxPoolSize) { mMotionEventPool.push(std::unique_ptr<MotionEvent>(static_cast<MotionEvent*>(event))); mMotionEventPool.push( std::unique_ptr<MotionEvent>(static_cast<MotionEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_FOCUS: } case InputEventType::FOCUS: { if (mFocusEventPool.size() < mMaxPoolSize) { mFocusEventPool.push(std::unique_ptr<FocusEvent>(static_cast<FocusEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_CAPTURE: } case InputEventType::CAPTURE: { if (mCaptureEventPool.size() < mMaxPoolSize) { mCaptureEventPool.push( std::unique_ptr<CaptureEvent>(static_cast<CaptureEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_DRAG: } case InputEventType::DRAG: { if (mDragEventPool.size() < mMaxPoolSize) { mDragEventPool.push(std::unique_ptr<DragEvent>(static_cast<DragEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_TOUCH_MODE: } case InputEventType::TOUCH_MODE: { if (mTouchModeEventPool.size() < mMaxPoolSize) { mTouchModeEventPool.push( std::unique_ptr<TouchModeEvent>(static_cast<TouchModeEvent*>(event))); Loading @@ -1204,6 +1217,7 @@ void PooledInputEventFactory::recycle(InputEvent* event) { } break; } } delete event; } Loading libs/input/android/os/InputEventInjectionSync.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -33,4 +33,7 @@ enum InputEventInjectionSync { /* Waits for the input event to be completely processed. */ WAIT_FOR_FINISHED = 2, ftl_first = NONE, ftl_last = WAIT_FOR_FINISHED, } libs/input/tests/InputEvent_test.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ TEST_F(KeyEventTest, Properties) { ARBITRARY_DOWN_TIME, ARBITRARY_EVENT_TIME); ASSERT_EQ(id, event.getId()); ASSERT_EQ(AINPUT_EVENT_TYPE_KEY, event.getType()); ASSERT_EQ(InputEventType::KEY, event.getType()); ASSERT_EQ(2, event.getDeviceId()); ASSERT_EQ(AINPUT_SOURCE_GAMEPAD, event.getSource()); ASSERT_EQ(DISPLAY_ID, event.getDisplayId()); Loading Loading @@ -346,7 +346,7 @@ void MotionEventTest::initializeEventWithHistory(MotionEvent* event) { void MotionEventTest::assertEqualsEventWithHistory(const MotionEvent* event) { // Check properties. ASSERT_EQ(mId, event->getId()); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, event->getType()); ASSERT_EQ(InputEventType::MOTION, event->getType()); ASSERT_EQ(2, event->getDeviceId()); ASSERT_EQ(AINPUT_SOURCE_TOUCHSCREEN, event->getSource()); ASSERT_EQ(DISPLAY_ID, event->getDisplayId()); Loading Loading
include/input/Input.h +23 −8 Original line number Diff line number Diff line Loading @@ -210,7 +210,20 @@ vec2 transformWithoutTranslation(const ui::Transform& transform, const vec2& xy) */ float transformAngle(const ui::Transform& transform, float angleRadians); const char* inputEventTypeToString(int32_t type); /** * The type of the InputEvent. * This should have 1:1 correspondence with the values of anonymous enum defined in input.h. */ enum class InputEventType { KEY = AINPUT_EVENT_TYPE_KEY, MOTION = AINPUT_EVENT_TYPE_MOTION, FOCUS = AINPUT_EVENT_TYPE_FOCUS, CAPTURE = AINPUT_EVENT_TYPE_CAPTURE, DRAG = AINPUT_EVENT_TYPE_DRAG, TOUCH_MODE = AINPUT_EVENT_TYPE_TOUCH_MODE, ftl_first = KEY, ftl_last = TOUCH_MODE, }; std::string inputEventSourceToString(int32_t source); Loading Loading @@ -482,7 +495,7 @@ class InputEvent : public AInputEvent { public: virtual ~InputEvent() { } virtual int32_t getType() const = 0; virtual InputEventType getType() const = 0; inline int32_t getId() const { return mId; } Loading Loading @@ -513,6 +526,8 @@ protected: std::array<uint8_t, 32> mHmac; }; std::ostream& operator<<(std::ostream& out, const InputEvent& event); /* * Key events. */ Loading @@ -520,7 +535,7 @@ class KeyEvent : public InputEvent { public: virtual ~KeyEvent() { } virtual int32_t getType() const { return AINPUT_EVENT_TYPE_KEY; } virtual InputEventType getType() const { return InputEventType::KEY; } inline int32_t getAction() const { return mAction; } Loading Loading @@ -571,7 +586,7 @@ class MotionEvent : public InputEvent { public: virtual ~MotionEvent() { } virtual int32_t getType() const { return AINPUT_EVENT_TYPE_MOTION; } virtual InputEventType getType() const { return InputEventType::MOTION; } inline int32_t getAction() const { return mAction; } Loading Loading @@ -899,7 +914,7 @@ class FocusEvent : public InputEvent { public: virtual ~FocusEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_FOCUS; } virtual InputEventType getType() const override { return InputEventType::FOCUS; } inline bool getHasFocus() const { return mHasFocus; } Loading @@ -918,7 +933,7 @@ class CaptureEvent : public InputEvent { public: virtual ~CaptureEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_CAPTURE; } virtual InputEventType getType() const override { return InputEventType::CAPTURE; } inline bool getPointerCaptureEnabled() const { return mPointerCaptureEnabled; } Loading @@ -937,7 +952,7 @@ class DragEvent : public InputEvent { public: virtual ~DragEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_DRAG; } virtual InputEventType getType() const override { return InputEventType::DRAG; } inline bool isExiting() const { return mIsExiting; } Loading @@ -961,7 +976,7 @@ class TouchModeEvent : public InputEvent { public: virtual ~TouchModeEvent() {} virtual int32_t getType() const override { return AINPUT_EVENT_TYPE_TOUCH_MODE; } virtual InputEventType getType() const override { return InputEventType::TOUCH_MODE; } inline bool isInTouchMode() const { return mIsInTouchMode; } Loading
libs/gui/tests/EndToEndNativeInputTest.cpp +9 −9 Original line number Diff line number Diff line Loading @@ -164,7 +164,7 @@ public: void assertFocusChange(bool hasFocus) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_FOCUS, ev->getType()); ASSERT_EQ(InputEventType::FOCUS, ev->getType()); FocusEvent *focusEvent = static_cast<FocusEvent *>(ev); EXPECT_EQ(hasFocus, focusEvent->getHasFocus()); } Loading @@ -172,7 +172,7 @@ public: void expectTap(int x, int y) { InputEvent* ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); MotionEvent* mev = static_cast<MotionEvent*>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, mev->getAction()); EXPECT_EQ(x, mev->getX(0)); Loading @@ -181,7 +181,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); mev = static_cast<MotionEvent*>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, mev->getAction()); EXPECT_EQ(0, mev->getFlags() & VERIFIED_MOTION_EVENT_FLAGS); Loading @@ -190,7 +190,7 @@ public: void expectTapWithFlag(int x, int y, int32_t flags) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); MotionEvent *mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, mev->getAction()); EXPECT_EQ(x, mev->getX(0)); Loading @@ -199,7 +199,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, mev->getAction()); EXPECT_EQ(flags, mev->getFlags() & flags); Loading @@ -208,7 +208,7 @@ public: void expectTapInDisplayCoordinates(int displayX, int displayY) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); MotionEvent *mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, mev->getAction()); const PointerCoords &coords = *mev->getRawPointerCoords(0 /*pointerIndex*/); Loading @@ -218,7 +218,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, ev->getType()); ASSERT_EQ(InputEventType::MOTION, ev->getType()); mev = static_cast<MotionEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, mev->getAction()); EXPECT_EQ(0, mev->getFlags() & VERIFIED_MOTION_EVENT_FLAGS); Loading @@ -227,7 +227,7 @@ public: void expectKey(uint32_t keycode) { InputEvent *ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_KEY, ev->getType()); ASSERT_EQ(InputEventType::KEY, ev->getType()); KeyEvent *keyEvent = static_cast<KeyEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_DOWN, keyEvent->getAction()); EXPECT_EQ(keycode, keyEvent->getKeyCode()); Loading @@ -235,7 +235,7 @@ public: ev = consumeEvent(); ASSERT_NE(ev, nullptr); ASSERT_EQ(AINPUT_EVENT_TYPE_KEY, ev->getType()); ASSERT_EQ(InputEventType::KEY, ev->getType()); keyEvent = static_cast<KeyEvent *>(ev); EXPECT_EQ(AMOTION_EVENT_ACTION_UP, keyEvent->getAction()); EXPECT_EQ(keycode, keyEvent->getKeyCode()); Loading
libs/input/Input.cpp +70 −56 Original line number Diff line number Diff line Loading @@ -170,30 +170,6 @@ float transformAngle(const ui::Transform& transform, float angleRadians) { return atan2f(transformedPoint.x, -transformedPoint.y); } const char* inputEventTypeToString(int32_t type) { switch (type) { case AINPUT_EVENT_TYPE_KEY: { return "KEY"; } case AINPUT_EVENT_TYPE_MOTION: { return "MOTION"; } case AINPUT_EVENT_TYPE_FOCUS: { return "FOCUS"; } case AINPUT_EVENT_TYPE_CAPTURE: { return "CAPTURE"; } case AINPUT_EVENT_TYPE_DRAG: { return "DRAG"; } case AINPUT_EVENT_TYPE_TOUCH_MODE: { return "TOUCH_MODE"; } } return "UNKNOWN"; } std::string inputEventSourceToString(int32_t source) { if (source == AINPUT_SOURCE_UNKNOWN) { return "UNKNOWN"; Loading Loading @@ -287,6 +263,37 @@ int32_t InputEvent::nextId() { return idGen.nextId(); } std::ostream& operator<<(std::ostream& out, const InputEvent& event) { switch (event.getType()) { case InputEventType::KEY: { const KeyEvent& keyEvent = static_cast<const KeyEvent&>(event); out << keyEvent; return out; } case InputEventType::MOTION: { const MotionEvent& motionEvent = static_cast<const MotionEvent&>(event); out << motionEvent; return out; } case InputEventType::FOCUS: { out << "FocusEvent"; return out; } case InputEventType::CAPTURE: { out << "CaptureEvent"; return out; } case InputEventType::DRAG: { out << "DragEvent"; return out; } case InputEventType::TOUCH_MODE: { out << "TouchModeEvent"; return out; } } } // --- KeyEvent --- const char* KeyEvent::getLabel(int32_t keyCode) { Loading Loading @@ -1165,38 +1172,44 @@ TouchModeEvent* PooledInputEventFactory::createTouchModeEvent() { void PooledInputEventFactory::recycle(InputEvent* event) { switch (event->getType()) { case AINPUT_EVENT_TYPE_KEY: case InputEventType::KEY: { if (mKeyEventPool.size() < mMaxPoolSize) { mKeyEventPool.push(std::unique_ptr<KeyEvent>(static_cast<KeyEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_MOTION: } case InputEventType::MOTION: { if (mMotionEventPool.size() < mMaxPoolSize) { mMotionEventPool.push(std::unique_ptr<MotionEvent>(static_cast<MotionEvent*>(event))); mMotionEventPool.push( std::unique_ptr<MotionEvent>(static_cast<MotionEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_FOCUS: } case InputEventType::FOCUS: { if (mFocusEventPool.size() < mMaxPoolSize) { mFocusEventPool.push(std::unique_ptr<FocusEvent>(static_cast<FocusEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_CAPTURE: } case InputEventType::CAPTURE: { if (mCaptureEventPool.size() < mMaxPoolSize) { mCaptureEventPool.push( std::unique_ptr<CaptureEvent>(static_cast<CaptureEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_DRAG: } case InputEventType::DRAG: { if (mDragEventPool.size() < mMaxPoolSize) { mDragEventPool.push(std::unique_ptr<DragEvent>(static_cast<DragEvent*>(event))); return; } break; case AINPUT_EVENT_TYPE_TOUCH_MODE: } case InputEventType::TOUCH_MODE: { if (mTouchModeEventPool.size() < mMaxPoolSize) { mTouchModeEventPool.push( std::unique_ptr<TouchModeEvent>(static_cast<TouchModeEvent*>(event))); Loading @@ -1204,6 +1217,7 @@ void PooledInputEventFactory::recycle(InputEvent* event) { } break; } } delete event; } Loading
libs/input/android/os/InputEventInjectionSync.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -33,4 +33,7 @@ enum InputEventInjectionSync { /* Waits for the input event to be completely processed. */ WAIT_FOR_FINISHED = 2, ftl_first = NONE, ftl_last = WAIT_FOR_FINISHED, }
libs/input/tests/InputEvent_test.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ TEST_F(KeyEventTest, Properties) { ARBITRARY_DOWN_TIME, ARBITRARY_EVENT_TIME); ASSERT_EQ(id, event.getId()); ASSERT_EQ(AINPUT_EVENT_TYPE_KEY, event.getType()); ASSERT_EQ(InputEventType::KEY, event.getType()); ASSERT_EQ(2, event.getDeviceId()); ASSERT_EQ(AINPUT_SOURCE_GAMEPAD, event.getSource()); ASSERT_EQ(DISPLAY_ID, event.getDisplayId()); Loading Loading @@ -346,7 +346,7 @@ void MotionEventTest::initializeEventWithHistory(MotionEvent* event) { void MotionEventTest::assertEqualsEventWithHistory(const MotionEvent* event) { // Check properties. ASSERT_EQ(mId, event->getId()); ASSERT_EQ(AINPUT_EVENT_TYPE_MOTION, event->getType()); ASSERT_EQ(InputEventType::MOTION, event->getType()); ASSERT_EQ(2, event->getDeviceId()); ASSERT_EQ(AINPUT_SOURCE_TOUCHSCREEN, event->getSource()); ASSERT_EQ(DISPLAY_ID, event->getDisplayId()); Loading