Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a81824b8 authored by Philip Junker's avatar Philip Junker Committed by Android (Google) Code Review
Browse files

Merge "Set keyboard type to maximum of all sub devices."

parents cfb660d1 f8437960
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -877,6 +877,7 @@ enum {
 * Keyboard types.
 *
 * Refer to the documentation on android.view.InputDevice for more details.
 * Note: When adding a new keyboard type here InputDeviceInfo::setKeyboardType needs to be updated.
 */
enum {
    /** none */
+1 −1
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ public:
    void addBatteryInfo(const InputDeviceBatteryInfo& info);
    void addLightInfo(const InputDeviceLightInfo& info);

    inline void setKeyboardType(int32_t keyboardType) { mKeyboardType = keyboardType; }
    void setKeyboardType(int32_t keyboardType);
    inline int32_t getKeyboardType() const { return mKeyboardType; }

    inline void setKeyCharacterMap(const std::shared_ptr<KeyCharacterMap> value) {
+7 −0
Original line number Diff line number Diff line
@@ -252,6 +252,13 @@ void InputDeviceInfo::addLightInfo(const InputDeviceLightInfo& info) {
    mLights.insert_or_assign(info.id, info);
}

void InputDeviceInfo::setKeyboardType(int32_t keyboardType) {
    static_assert(AINPUT_KEYBOARD_TYPE_NONE < AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC);
    static_assert(AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC < AINPUT_KEYBOARD_TYPE_ALPHABETIC);
    // There can be multiple subdevices with different keyboard types, set it to the highest type
    mKeyboardType = std::max(mKeyboardType, keyboardType);
}

std::vector<InputDeviceSensorInfo> InputDeviceInfo::getSensors() {
    std::vector<InputDeviceSensorInfo> infos;
    infos.reserve(mSensors.size());