Return pointer from getKeyBehavior
This function returns bool and outPointer, which is redundant. Return
pointer directly.
Bug: 238626341
Test: atest libinput_tests inputflinger_tests
Change-Id: I7b945cd3a485afbb3f0ef0aef489e87e8358f4a7
diff --git a/libs/input/KeyCharacterMap.cpp b/libs/input/KeyCharacterMap.cpp
index a5e6512..5cb844e 100644
--- a/libs/input/KeyCharacterMap.cpp
+++ b/libs/input/KeyCharacterMap.cpp
@@ -304,8 +304,8 @@
char16_t KeyCharacterMap::getCharacter(int32_t keyCode, int32_t metaState) const {
char16_t result = 0;
- const Behavior* behavior;
- if (getKeyBehavior(keyCode, metaState, &behavior)) {
+ const Behavior* behavior = getKeyBehavior(keyCode, metaState);
+ if (behavior != nullptr) {
result = behavior->character;
}
#if DEBUG_MAPPING
@@ -320,8 +320,8 @@
outFallbackAction->metaState = 0;
bool result = false;
- const Behavior* behavior;
- if (getKeyBehavior(keyCode, metaState, &behavior)) {
+ const Behavior* behavior = getKeyBehavior(keyCode, metaState);
+ if (behavior != nullptr) {
if (behavior->fallbackKeyCode) {
outFallbackAction->keyCode = behavior->fallbackKeyCode;
outFallbackAction->metaState = metaState & ~behavior->metaState;
@@ -436,8 +436,8 @@
*outKeyCode = keyCode;
*outMetaState = metaState;
- const Behavior* behavior;
- if (getKeyBehavior(keyCode, metaState, &behavior)) {
+ const Behavior* behavior = getKeyBehavior(keyCode, metaState);
+ if (behavior != nullptr) {
if (behavior->replacementKeyCode) {
*outKeyCode = behavior->replacementKeyCode;
int32_t newMetaState = metaState & ~behavior->metaState;
@@ -481,20 +481,19 @@
return false;
}
-bool KeyCharacterMap::getKeyBehavior(int32_t keyCode, int32_t metaState,
- const Behavior** outBehavior) const {
+const KeyCharacterMap::Behavior* KeyCharacterMap::getKeyBehavior(int32_t keyCode,
+ int32_t metaState) const {
const Key* key;
if (getKey(keyCode, &key)) {
const Behavior* behavior = key->firstBehavior;
while (behavior) {
if (matchesMetaState(metaState, behavior->metaState)) {
- *outBehavior = behavior;
- return true;
+ return behavior;
}
behavior = behavior->next;
}
}
- return false;
+ return nullptr;
}
bool KeyCharacterMap::matchesMetaState(int32_t eventMetaState, int32_t behaviorMetaState) {