diff options
author | 2023-08-25 13:45:39 -0700 | |
---|---|---|
committer | 2023-08-25 13:45:39 -0700 | |
commit | 1b988a4ee33de9cab9740ddc1ee70b1734c8e622 (patch) | |
tree | c4240b01ae5e973213d6532885fcc00fac6f9e0b /libs/input/Keyboard.cpp | |
parent | 13da0f9a0f2d5fcb70418fcdceb0d184313d7f48 (diff) | |
parent | b7bc7af7daca55a85bcc993c45c9be354d48f89a (diff) |
Merge Android U (ab/10368041)
Bug: 291102124
Merged-In: I9b175092d433fc6d7b22b437a09d76d3d2e0ce14
Change-Id: If8a2897a99b111ba107f33c19537d40bcbdc802e
Diffstat (limited to 'libs/input/Keyboard.cpp')
-rw-r--r-- | libs/input/Keyboard.cpp | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/libs/input/Keyboard.cpp b/libs/input/Keyboard.cpp index 5f06efaf50..0b5c7ff785 100644 --- a/libs/input/Keyboard.cpp +++ b/libs/input/Keyboard.cpp @@ -16,9 +16,10 @@ #define LOG_TAG "Keyboard" +#include <limits.h> #include <stdlib.h> #include <unistd.h> -#include <limits.h> +#include <optional> #include <input/InputDevice.h> #include <input/InputEventLabels.h> @@ -49,25 +50,25 @@ status_t KeyMap::load(const InputDeviceIdentifier& deviceIdentifier, const PropertyMap* deviceConfiguration) { // Use the configured key layout if available. if (deviceConfiguration) { - String8 keyLayoutName; - if (deviceConfiguration->tryGetProperty(String8("keyboard.layout"), - keyLayoutName)) { - status_t status = loadKeyLayout(deviceIdentifier, keyLayoutName.c_str()); + std::optional<std::string> keyLayoutName = + deviceConfiguration->getString("keyboard.layout"); + if (keyLayoutName.has_value()) { + status_t status = loadKeyLayout(deviceIdentifier, *keyLayoutName); if (status == NAME_NOT_FOUND) { ALOGE("Configuration for keyboard device '%s' requested keyboard layout '%s' but " "it was not found.", - deviceIdentifier.name.c_str(), keyLayoutName.c_str()); + deviceIdentifier.name.c_str(), keyLayoutName->c_str()); } } - String8 keyCharacterMapName; - if (deviceConfiguration->tryGetProperty(String8("keyboard.characterMap"), - keyCharacterMapName)) { - status_t status = loadKeyCharacterMap(deviceIdentifier, keyCharacterMapName.c_str()); + std::optional<std::string> keyCharacterMapName = + deviceConfiguration->getString("keyboard.characterMap"); + if (keyCharacterMapName.has_value()) { + status_t status = loadKeyCharacterMap(deviceIdentifier, *keyCharacterMapName); if (status == NAME_NOT_FOUND) { ALOGE("Configuration for keyboard device '%s' requested keyboard character " "map '%s' but it was not found.", - deviceIdentifier.name.c_str(), keyCharacterMapName.c_str()); + deviceIdentifier.name.c_str(), keyCharacterMapName->c_str()); } } @@ -164,9 +165,7 @@ bool isKeyboardSpecialFunction(const PropertyMap* config) { if (config == nullptr) { return false; } - bool isSpecialFunction = false; - config->tryGetProperty(String8("keyboard.specialFunction"), isSpecialFunction); - return isSpecialFunction; + return config->getBool("keyboard.specialFunction").value_or(false); } bool isEligibleBuiltInKeyboard(const InputDeviceIdentifier& deviceIdentifier, @@ -179,9 +178,7 @@ bool isEligibleBuiltInKeyboard(const InputDeviceIdentifier& deviceIdentifier, } if (deviceConfiguration) { - bool builtIn = false; - if (deviceConfiguration->tryGetProperty(String8("keyboard.builtIn"), builtIn) - && builtIn) { + if (deviceConfiguration->getBool("keyboard.builtIn").value_or(false)) { return true; } } |