Fixed typing uppercase letters when touch exploration is enabled.
Bug: 5652774 Change-Id: Id8cd37b3ff93b45f4f18198bbbb827aadf945b02main
parent
19cbdfc92f
commit
e87fd4d282
|
@ -136,16 +136,14 @@ public class KeyCodeDescriptionMapper {
|
|||
if (!TextUtils.isEmpty(key.mLabel)) {
|
||||
final String label = key.mLabel.toString().trim();
|
||||
|
||||
// First, attempt to map the label to a pre-defined description.
|
||||
if (mKeyLabelMap.containsKey(label)) {
|
||||
return context.getString(mKeyLabelMap.get(label));
|
||||
} else if (label.length() == 1
|
||||
|| (keyboard.isManualTemporaryUpperCase() && !TextUtils
|
||||
.isEmpty(key.mHintLabel))) {
|
||||
return getDescriptionForKeyCode(context, keyboard, key, shouldObscure);
|
||||
} else {
|
||||
return label;
|
||||
}
|
||||
} else if (key.mCode != Keyboard.CODE_DUMMY) {
|
||||
}
|
||||
|
||||
// Just attempt to speak the description.
|
||||
if (key.mCode != Keyboard.CODE_DUMMY) {
|
||||
return getDescriptionForKeyCode(context, keyboard, key, shouldObscure);
|
||||
}
|
||||
|
||||
|
@ -187,11 +185,14 @@ public class KeyCodeDescriptionMapper {
|
|||
* @return the key code for the specified key
|
||||
*/
|
||||
private int getCorrectKeyCode(Keyboard keyboard, Key key) {
|
||||
if (keyboard.isManualTemporaryUpperCase() && !TextUtils.isEmpty(key.mHintLabel)) {
|
||||
// If keyboard is in manual temporary upper case state and key has
|
||||
// manual temporary uppercase letter as key hint letter, alternate
|
||||
// character code should be sent.
|
||||
if (keyboard.isManualTemporaryUpperCase() && key.hasUppercaseLetter()
|
||||
&& !TextUtils.isEmpty(key.mHintLabel)) {
|
||||
return key.mHintLabel.charAt(0);
|
||||
} else {
|
||||
return key.mCode;
|
||||
}
|
||||
return key.mCode;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue