Loading include/input/Input.h +2 −2 Original line number Diff line number Diff line Loading @@ -529,7 +529,7 @@ public: inline nsecs_t getEventTime() const { return mEventTime; } static const char* getLabel(int32_t keyCode); static int32_t getKeyCodeFromLabel(const char* label); static std::optional<int> getKeyCodeFromLabel(const char* label); void initialize(int32_t id, int32_t deviceId, uint32_t source, int32_t displayId, std::array<uint8_t, 32> hmac, int32_t action, int32_t flags, int32_t keyCode, Loading Loading @@ -842,7 +842,7 @@ public: } static const char* getLabel(int32_t axis); static int32_t getAxisFromLabel(const char* label); static std::optional<int> getAxisFromLabel(const char* label); static std::string actionToString(int32_t action); Loading include/input/InputEventLabels.h +6 −6 Original line number Diff line number Diff line Loading @@ -35,22 +35,22 @@ struct InputEventLabel { class InputEventLookup { public: static int lookupValueByLabel(const std::unordered_map<std::string, int>& map, static std::optional<int> lookupValueByLabel(const std::unordered_map<std::string, int>& map, const char* literal); static const char* lookupLabelByValue(const std::vector<InputEventLabel>& vec, int value); static int32_t getKeyCodeByLabel(const char* label); static std::optional<int> getKeyCodeByLabel(const char* label); static const char* getLabelByKeyCode(int32_t keyCode); static uint32_t getKeyFlagByLabel(const char* label); static std::optional<int> getKeyFlagByLabel(const char* label); static int32_t getAxisByLabel(const char* label); static std::optional<int> getAxisByLabel(const char* label); static const char* getAxisLabel(int32_t axisId); static int32_t getLedByLabel(const char* label); static std::optional<int> getLedByLabel(const char* label); private: static const std::unordered_map<std::string, int> KEYCODES; Loading libs/input/Input.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -299,7 +299,7 @@ const char* KeyEvent::getLabel(int32_t keyCode) { return InputEventLookup::getLabelByKeyCode(keyCode); } int32_t KeyEvent::getKeyCodeFromLabel(const char* label) { std::optional<int> KeyEvent::getKeyCodeFromLabel(const char* label) { return InputEventLookup::getKeyCodeByLabel(label); } Loading Loading @@ -891,7 +891,7 @@ const char* MotionEvent::getLabel(int32_t axis) { return InputEventLookup::getAxisLabel(axis); } int32_t MotionEvent::getAxisFromLabel(const char* label) { std::optional<int> MotionEvent::getAxisFromLabel(const char* label) { return InputEventLookup::getAxisByLabel(label); } Loading libs/input/InputEventLabels.cpp +11 −11 Original line number Diff line number Diff line Loading @@ -438,11 +438,11 @@ const std::unordered_map<std::string, int> InputEventLookup::LEDS = {LEDS_SEQUEN const std::unordered_map<std::string, int> InputEventLookup::FLAGS = {FLAGS_SEQUENCE}; int InputEventLookup::lookupValueByLabel(const std::unordered_map<std::string, int>& map, const char* literal) { std::optional<int> InputEventLookup::lookupValueByLabel( const std::unordered_map<std::string, int>& map, const char* literal) { std::string str(literal); auto it = map.find(str); return it != map.end() ? it->second : 0; return it != map.end() ? std::make_optional(it->second) : std::nullopt; } const char* InputEventLookup::lookupLabelByValue(const std::vector<InputEventLabel>& vec, Loading @@ -453,8 +453,8 @@ const char* InputEventLookup::lookupLabelByValue(const std::vector<InputEventLab return nullptr; } int32_t InputEventLookup::getKeyCodeByLabel(const char* label) { return int32_t(lookupValueByLabel(KEYCODES, label)); std::optional<int> InputEventLookup::getKeyCodeByLabel(const char* label) { return lookupValueByLabel(KEYCODES, label); } const char* InputEventLookup::getLabelByKeyCode(int32_t keyCode) { Loading @@ -464,20 +464,20 @@ const char* InputEventLookup::getLabelByKeyCode(int32_t keyCode) { return nullptr; } uint32_t InputEventLookup::getKeyFlagByLabel(const char* label) { return uint32_t(lookupValueByLabel(FLAGS, label)); std::optional<int> InputEventLookup::getKeyFlagByLabel(const char* label) { return lookupValueByLabel(FLAGS, label); } int32_t InputEventLookup::getAxisByLabel(const char* label) { return int32_t(lookupValueByLabel(AXES, label)); std::optional<int> InputEventLookup::getAxisByLabel(const char* label) { return lookupValueByLabel(AXES, label); } const char* InputEventLookup::getAxisLabel(int32_t axisId) { return lookupLabelByValue(AXES_NAMES, axisId); } int32_t InputEventLookup::getLedByLabel(const char* label) { return int32_t(lookupValueByLabel(LEDS, label)); std::optional<int> InputEventLookup::getLedByLabel(const char* label) { return lookupValueByLabel(LEDS, label); } } // namespace android libs/input/KeyCharacterMap.cpp +11 −13 Original line number Diff line number Diff line Loading @@ -999,7 +999,7 @@ status_t KeyCharacterMap::Parser::parseMapKey() { mTokenizer->skipDelimiters(WHITESPACE); String8 keyCodeToken = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); if (!keyCode) { ALOGE("%s: Expected key code label, got '%s'.", mTokenizer->getLocation().string(), keyCodeToken.string()); Loading @@ -1010,19 +1010,19 @@ status_t KeyCharacterMap::Parser::parseMapKey() { ALOGD("Parsed map key %s: code=%d, keyCode=%d.", mapUsage ? "usage" : "scan code", code, keyCode); #endif map.insert_or_assign(code, keyCode); map.insert_or_assign(code, *keyCode); return NO_ERROR; } status_t KeyCharacterMap::Parser::parseKey() { String8 keyCodeToken = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); if (!keyCode) { ALOGE("%s: Expected key code label, got '%s'.", mTokenizer->getLocation().string(), keyCodeToken.string()); return BAD_VALUE; } if (mMap->mKeys.indexOfKey(keyCode) >= 0) { if (mMap->mKeys.indexOfKey(*keyCode) >= 0) { ALOGE("%s: Duplicate entry for key code '%s'.", mTokenizer->getLocation().string(), keyCodeToken.string()); return BAD_VALUE; Loading @@ -1036,11 +1036,9 @@ status_t KeyCharacterMap::Parser::parseKey() { return BAD_VALUE; } #if DEBUG_PARSER ALOGD("Parsed beginning of key: keyCode=%d.", keyCode); #endif mKeyCode = keyCode; mMap->mKeys.add(keyCode, new Key()); ALOGD_IF(DEBUG_PARSER, "Parsed beginning of key: keyCode=%d.", *keyCode); mKeyCode = *keyCode; mMap->mKeys.add(*keyCode, new Key()); mState = STATE_KEY; return NO_ERROR; } Loading Loading @@ -1136,7 +1134,7 @@ status_t KeyCharacterMap::Parser::parseKeyProperty() { } else if (token == "fallback") { mTokenizer->skipDelimiters(WHITESPACE); token = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); if (!keyCode) { ALOGE("%s: Invalid key code label for fallback behavior, got '%s'.", mTokenizer->getLocation().string(), Loading @@ -1148,12 +1146,12 @@ status_t KeyCharacterMap::Parser::parseKeyProperty() { mTokenizer->getLocation().string()); return BAD_VALUE; } behavior.fallbackKeyCode = keyCode; behavior.fallbackKeyCode = *keyCode; haveFallback = true; } else if (token == "replace") { mTokenizer->skipDelimiters(WHITESPACE); token = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); if (!keyCode) { ALOGE("%s: Invalid key code label for replace, got '%s'.", mTokenizer->getLocation().string(), Loading @@ -1170,7 +1168,7 @@ status_t KeyCharacterMap::Parser::parseKeyProperty() { mTokenizer->getLocation().string()); return BAD_VALUE; } behavior.replacementKeyCode = keyCode; behavior.replacementKeyCode = *keyCode; haveReplacement = true; } else { Loading Loading
include/input/Input.h +2 −2 Original line number Diff line number Diff line Loading @@ -529,7 +529,7 @@ public: inline nsecs_t getEventTime() const { return mEventTime; } static const char* getLabel(int32_t keyCode); static int32_t getKeyCodeFromLabel(const char* label); static std::optional<int> getKeyCodeFromLabel(const char* label); void initialize(int32_t id, int32_t deviceId, uint32_t source, int32_t displayId, std::array<uint8_t, 32> hmac, int32_t action, int32_t flags, int32_t keyCode, Loading Loading @@ -842,7 +842,7 @@ public: } static const char* getLabel(int32_t axis); static int32_t getAxisFromLabel(const char* label); static std::optional<int> getAxisFromLabel(const char* label); static std::string actionToString(int32_t action); Loading
include/input/InputEventLabels.h +6 −6 Original line number Diff line number Diff line Loading @@ -35,22 +35,22 @@ struct InputEventLabel { class InputEventLookup { public: static int lookupValueByLabel(const std::unordered_map<std::string, int>& map, static std::optional<int> lookupValueByLabel(const std::unordered_map<std::string, int>& map, const char* literal); static const char* lookupLabelByValue(const std::vector<InputEventLabel>& vec, int value); static int32_t getKeyCodeByLabel(const char* label); static std::optional<int> getKeyCodeByLabel(const char* label); static const char* getLabelByKeyCode(int32_t keyCode); static uint32_t getKeyFlagByLabel(const char* label); static std::optional<int> getKeyFlagByLabel(const char* label); static int32_t getAxisByLabel(const char* label); static std::optional<int> getAxisByLabel(const char* label); static const char* getAxisLabel(int32_t axisId); static int32_t getLedByLabel(const char* label); static std::optional<int> getLedByLabel(const char* label); private: static const std::unordered_map<std::string, int> KEYCODES; Loading
libs/input/Input.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -299,7 +299,7 @@ const char* KeyEvent::getLabel(int32_t keyCode) { return InputEventLookup::getLabelByKeyCode(keyCode); } int32_t KeyEvent::getKeyCodeFromLabel(const char* label) { std::optional<int> KeyEvent::getKeyCodeFromLabel(const char* label) { return InputEventLookup::getKeyCodeByLabel(label); } Loading Loading @@ -891,7 +891,7 @@ const char* MotionEvent::getLabel(int32_t axis) { return InputEventLookup::getAxisLabel(axis); } int32_t MotionEvent::getAxisFromLabel(const char* label) { std::optional<int> MotionEvent::getAxisFromLabel(const char* label) { return InputEventLookup::getAxisByLabel(label); } Loading
libs/input/InputEventLabels.cpp +11 −11 Original line number Diff line number Diff line Loading @@ -438,11 +438,11 @@ const std::unordered_map<std::string, int> InputEventLookup::LEDS = {LEDS_SEQUEN const std::unordered_map<std::string, int> InputEventLookup::FLAGS = {FLAGS_SEQUENCE}; int InputEventLookup::lookupValueByLabel(const std::unordered_map<std::string, int>& map, const char* literal) { std::optional<int> InputEventLookup::lookupValueByLabel( const std::unordered_map<std::string, int>& map, const char* literal) { std::string str(literal); auto it = map.find(str); return it != map.end() ? it->second : 0; return it != map.end() ? std::make_optional(it->second) : std::nullopt; } const char* InputEventLookup::lookupLabelByValue(const std::vector<InputEventLabel>& vec, Loading @@ -453,8 +453,8 @@ const char* InputEventLookup::lookupLabelByValue(const std::vector<InputEventLab return nullptr; } int32_t InputEventLookup::getKeyCodeByLabel(const char* label) { return int32_t(lookupValueByLabel(KEYCODES, label)); std::optional<int> InputEventLookup::getKeyCodeByLabel(const char* label) { return lookupValueByLabel(KEYCODES, label); } const char* InputEventLookup::getLabelByKeyCode(int32_t keyCode) { Loading @@ -464,20 +464,20 @@ const char* InputEventLookup::getLabelByKeyCode(int32_t keyCode) { return nullptr; } uint32_t InputEventLookup::getKeyFlagByLabel(const char* label) { return uint32_t(lookupValueByLabel(FLAGS, label)); std::optional<int> InputEventLookup::getKeyFlagByLabel(const char* label) { return lookupValueByLabel(FLAGS, label); } int32_t InputEventLookup::getAxisByLabel(const char* label) { return int32_t(lookupValueByLabel(AXES, label)); std::optional<int> InputEventLookup::getAxisByLabel(const char* label) { return lookupValueByLabel(AXES, label); } const char* InputEventLookup::getAxisLabel(int32_t axisId) { return lookupLabelByValue(AXES_NAMES, axisId); } int32_t InputEventLookup::getLedByLabel(const char* label) { return int32_t(lookupValueByLabel(LEDS, label)); std::optional<int> InputEventLookup::getLedByLabel(const char* label) { return lookupValueByLabel(LEDS, label); } } // namespace android
libs/input/KeyCharacterMap.cpp +11 −13 Original line number Diff line number Diff line Loading @@ -999,7 +999,7 @@ status_t KeyCharacterMap::Parser::parseMapKey() { mTokenizer->skipDelimiters(WHITESPACE); String8 keyCodeToken = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); if (!keyCode) { ALOGE("%s: Expected key code label, got '%s'.", mTokenizer->getLocation().string(), keyCodeToken.string()); Loading @@ -1010,19 +1010,19 @@ status_t KeyCharacterMap::Parser::parseMapKey() { ALOGD("Parsed map key %s: code=%d, keyCode=%d.", mapUsage ? "usage" : "scan code", code, keyCode); #endif map.insert_or_assign(code, keyCode); map.insert_or_assign(code, *keyCode); return NO_ERROR; } status_t KeyCharacterMap::Parser::parseKey() { String8 keyCodeToken = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(keyCodeToken.string()); if (!keyCode) { ALOGE("%s: Expected key code label, got '%s'.", mTokenizer->getLocation().string(), keyCodeToken.string()); return BAD_VALUE; } if (mMap->mKeys.indexOfKey(keyCode) >= 0) { if (mMap->mKeys.indexOfKey(*keyCode) >= 0) { ALOGE("%s: Duplicate entry for key code '%s'.", mTokenizer->getLocation().string(), keyCodeToken.string()); return BAD_VALUE; Loading @@ -1036,11 +1036,9 @@ status_t KeyCharacterMap::Parser::parseKey() { return BAD_VALUE; } #if DEBUG_PARSER ALOGD("Parsed beginning of key: keyCode=%d.", keyCode); #endif mKeyCode = keyCode; mMap->mKeys.add(keyCode, new Key()); ALOGD_IF(DEBUG_PARSER, "Parsed beginning of key: keyCode=%d.", *keyCode); mKeyCode = *keyCode; mMap->mKeys.add(*keyCode, new Key()); mState = STATE_KEY; return NO_ERROR; } Loading Loading @@ -1136,7 +1134,7 @@ status_t KeyCharacterMap::Parser::parseKeyProperty() { } else if (token == "fallback") { mTokenizer->skipDelimiters(WHITESPACE); token = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); if (!keyCode) { ALOGE("%s: Invalid key code label for fallback behavior, got '%s'.", mTokenizer->getLocation().string(), Loading @@ -1148,12 +1146,12 @@ status_t KeyCharacterMap::Parser::parseKeyProperty() { mTokenizer->getLocation().string()); return BAD_VALUE; } behavior.fallbackKeyCode = keyCode; behavior.fallbackKeyCode = *keyCode; haveFallback = true; } else if (token == "replace") { mTokenizer->skipDelimiters(WHITESPACE); token = mTokenizer->nextToken(WHITESPACE); int32_t keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); std::optional<int> keyCode = InputEventLookup::getKeyCodeByLabel(token.string()); if (!keyCode) { ALOGE("%s: Invalid key code label for replace, got '%s'.", mTokenizer->getLocation().string(), Loading @@ -1170,7 +1168,7 @@ status_t KeyCharacterMap::Parser::parseKeyProperty() { mTokenizer->getLocation().string()); return BAD_VALUE; } behavior.replacementKeyCode = keyCode; behavior.replacementKeyCode = *keyCode; haveReplacement = true; } else { Loading