diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-11-15 17:48:10 -0800 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2011-11-15 18:00:10 -0800 |
commit | 882b0a59d834be5b595713079f31a2389c32fdda (patch) | |
tree | 95df7ee1d334a713e06f38cda8c8161661019ddf /libs/ui | |
parent | 4d38d2538e39e7041d8e2dd8081fd2f0b153423e (diff) | |
download | frameworks_native-882b0a59d834be5b595713079f31a2389c32fdda.zip frameworks_native-882b0a59d834be5b595713079f31a2389c32fdda.tar.gz frameworks_native-882b0a59d834be5b595713079f31a2389c32fdda.tar.bz2 |
Eliminate hw.keyboards system properties.
Stop using system properties to publish information about
the key character map path. Instead, we can retrieve it
on demand by asking the window manager.
It was possible to exhaust the supply of system properties
when repeatedly adding and removing input devices.
Bug: 5532806
Change-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669
Diffstat (limited to 'libs/ui')
-rw-r--r-- | libs/ui/KeyCharacterMap.cpp | 11 | ||||
-rw-r--r-- | libs/ui/Keyboard.cpp | 44 |
2 files changed, 0 insertions, 55 deletions
diff --git a/libs/ui/KeyCharacterMap.cpp b/libs/ui/KeyCharacterMap.cpp index 2decfe9..77f18de 100644 --- a/libs/ui/KeyCharacterMap.cpp +++ b/libs/ui/KeyCharacterMap.cpp @@ -124,17 +124,6 @@ status_t KeyCharacterMap::load(const String8& filename, KeyCharacterMap** outMap return status; } -status_t KeyCharacterMap::loadByDeviceId(int32_t deviceId, KeyCharacterMap** outMap) { - *outMap = NULL; - - String8 filename; - status_t result = getKeyCharacterMapFile(deviceId, filename); - if (!result) { - result = load(filename, outMap); - } - return result; -} - int32_t KeyCharacterMap::getKeyboardType() const { return mType; } diff --git a/libs/ui/Keyboard.cpp b/libs/ui/Keyboard.cpp index 600a951..10bb39c 100644 --- a/libs/ui/Keyboard.cpp +++ b/libs/ui/Keyboard.cpp @@ -173,50 +173,6 @@ bool isEligibleBuiltInKeyboard(const InputDeviceIdentifier& deviceIdentifier, return strstr(deviceIdentifier.name.string(), "-keypad"); } -void setKeyboardProperties(int32_t deviceId, - const InputDeviceIdentifier& deviceIdentifier, - const String8& keyLayoutFile, const String8& keyCharacterMapFile) { - char propName[PROPERTY_KEY_MAX]; - snprintf(propName, sizeof(propName), "hw.keyboards.%u.devname", deviceId); - property_set(propName, deviceIdentifier.name.string()); - snprintf(propName, sizeof(propName), "hw.keyboards.%u.klfile", deviceId); - property_set(propName, keyLayoutFile.string()); - snprintf(propName, sizeof(propName), "hw.keyboards.%u.kcmfile", deviceId); - property_set(propName, keyCharacterMapFile.string()); -} - -void clearKeyboardProperties(int32_t deviceId) { - char propName[PROPERTY_KEY_MAX]; - snprintf(propName, sizeof(propName), "hw.keyboards.%u.devname", deviceId); - property_set(propName, ""); - snprintf(propName, sizeof(propName), "hw.keyboards.%u.klfile", deviceId); - property_set(propName, ""); - snprintf(propName, sizeof(propName), "hw.keyboards.%u.kcmfile", deviceId); - property_set(propName, ""); -} - -status_t getKeyCharacterMapFile(int32_t deviceId, String8& outKeyCharacterMapFile) { - if (deviceId != DEVICE_ID_VIRTUAL_KEYBOARD) { - char propName[PROPERTY_KEY_MAX]; - char fn[PROPERTY_VALUE_MAX]; - snprintf(propName, sizeof(propName), "hw.keyboards.%u.kcmfile", deviceId); - if (property_get(propName, fn, "") > 0) { - outKeyCharacterMapFile.setTo(fn); - return OK; - } - } - - // Default to Virtual since the keyboard does not appear to be installed. - outKeyCharacterMapFile.setTo(getInputDeviceConfigurationFilePathByName(String8("Virtual"), - INPUT_DEVICE_CONFIGURATION_FILE_TYPE_KEY_CHARACTER_MAP)); - if (!outKeyCharacterMapFile.isEmpty()) { - return OK; - } - - LOGE("Can't find any key character map files including the Virtual key map!"); - return NAME_NOT_FOUND; -} - static int lookupValueByLabel(const char* literal, const KeycodeLabel *list) { while (list->literal) { if (strcmp(literal, list->literal) == 0) { |