diff options
-rw-r--r-- | services/inputflinger/reader/InputDevice.cpp | 2 | ||||
-rw-r--r-- | services/inputflinger/reader/mapper/JoystickInputMapper.h | 9 | ||||
-rw-r--r-- | services/inputflinger/tests/InputReader_test.cpp | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/services/inputflinger/reader/InputDevice.cpp b/services/inputflinger/reader/InputDevice.cpp index d32482677e..225d7b4cba 100644 --- a/services/inputflinger/reader/InputDevice.cpp +++ b/services/inputflinger/reader/InputDevice.cpp @@ -510,7 +510,7 @@ std::vector<std::unique_ptr<InputMapper>> InputDevice::createMappers( // Joystick-like devices. if (classes.test(InputDeviceClass::JOYSTICK)) { - mappers.push_back(std::make_unique<JoystickInputMapper>(contextPtr, readerConfig)); + mappers.push_back(createInputMapper<JoystickInputMapper>(contextPtr, readerConfig)); } // Motion sensor enabled devices. diff --git a/services/inputflinger/reader/mapper/JoystickInputMapper.h b/services/inputflinger/reader/mapper/JoystickInputMapper.h index 49673a2f4e..313f0922b7 100644 --- a/services/inputflinger/reader/mapper/JoystickInputMapper.h +++ b/services/inputflinger/reader/mapper/JoystickInputMapper.h @@ -22,8 +22,10 @@ namespace android { class JoystickInputMapper : public InputMapper { public: - explicit JoystickInputMapper(InputDeviceContext& deviceContext, - const InputReaderConfiguration& readerConfig); + template <class T, class... Args> + friend std::unique_ptr<T> createInputMapper(InputDeviceContext& deviceContext, + const InputReaderConfiguration& readerConfig, + Args... args); virtual ~JoystickInputMapper(); virtual uint32_t getSources() const override; @@ -87,6 +89,9 @@ private: } }; + explicit JoystickInputMapper(InputDeviceContext& deviceContext, + const InputReaderConfiguration& readerConfig); + static Axis createAxis(const AxisInfo& AxisInfo, const RawAbsoluteAxisInfo& rawAxisInfo, bool explicitlyMapped); diff --git a/services/inputflinger/tests/InputReader_test.cpp b/services/inputflinger/tests/InputReader_test.cpp index b0f5270a09..9fbe7626e2 100644 --- a/services/inputflinger/tests/InputReader_test.cpp +++ b/services/inputflinger/tests/InputReader_test.cpp @@ -10904,7 +10904,7 @@ const int32_t JoystickInputMapperTest::RAW_Y_MAX = 32767; TEST_F(JoystickInputMapperTest, Configure_AssignsDisplayUniqueId) { prepareAxes(); - JoystickInputMapper& mapper = addMapperAndConfigure<JoystickInputMapper>(); + JoystickInputMapper& mapper = constructAndAddMapper<JoystickInputMapper>(); mFakePolicy->addInputUniqueIdAssociation(DEVICE_LOCATION, VIRTUAL_DISPLAY_UNIQUE_ID); |