Add inactivatedLabel and inactivatedUppercaseLetter flags for Key.keyLabelFlags
Change-Id: I6c7dc79cbad360602b278283f4c3a24c54040622main
parent
c882d619bf
commit
425e1996b8
|
@ -269,6 +269,10 @@
|
|||
<!-- If true, character case of code, altCode, moreKeys, keyOutputText, keyLabel,
|
||||
or keyHintLabel will never be subject to change. -->
|
||||
<flag name="preserveCase" value="0x8000" />
|
||||
<!-- If true, use keyTextInactivatedColor for the label -->
|
||||
<flag name="inactivatedLabel" value="0x10000" />
|
||||
<!-- If true, use keyUppercaseLetterInactivatedColor for the uppercase letter -->
|
||||
<flag name="inactivatedUppercaseLetter" value="0x20000" />
|
||||
</attr>
|
||||
<!-- The icon to display on the key instead of the label. -->
|
||||
<attr name="keyIcon" format="enum">
|
||||
|
|
|
@ -72,6 +72,8 @@ public class Key {
|
|||
private static final int LABEL_FLAGS_WITH_ICON_RIGHT = 0x2000;
|
||||
private static final int LABEL_FLAGS_AUTO_X_SCALE = 0x4000;
|
||||
private static final int LABEL_FLAGS_PRESERVE_CASE = 0x8000;
|
||||
private static final int LABEL_FLAGS_INACTIVATED_LABEL = 0x10000;
|
||||
private static final int LABEL_FLAGS_INACTIVATED_UPPERCASE_LETTER = 0x20000;
|
||||
|
||||
/** Icon to display instead of a label. Icon takes precedence over a label */
|
||||
private final int mIconAttrId;
|
||||
|
@ -509,6 +511,14 @@ public class Key {
|
|||
return (mLabelFlags & LABEL_FLAGS_AUTO_X_SCALE) != 0;
|
||||
}
|
||||
|
||||
public boolean isInactivatedLabel() {
|
||||
return (mLabelFlags & LABEL_FLAGS_INACTIVATED_LABEL) != 0;
|
||||
}
|
||||
|
||||
public boolean isInactivatedUppercaseLetter() {
|
||||
return (mLabelFlags & LABEL_FLAGS_INACTIVATED_UPPERCASE_LETTER) != 0;
|
||||
}
|
||||
|
||||
// TODO: Get rid of this method.
|
||||
public Drawable getIcon(KeyboardIconsSet iconSet) {
|
||||
return mEnabled ? mIcon : iconSet.getIconByAttrId(mDisabledIconAttrId);
|
||||
|
|
|
@ -571,8 +571,11 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
|
|||
Math.min(1.0f, (keyWidth * MAX_LABEL_RATIO) / getLabelWidth(label, paint)));
|
||||
}
|
||||
|
||||
// TODO: Remove this first if-clause.
|
||||
if (key.hasUppercaseLetter() && mKeyboard.isManualTemporaryUpperCase()) {
|
||||
paint.setColor(params.mKeyTextInactivatedColor);
|
||||
} else if (key.isInactivatedLabel()) {
|
||||
paint.setColor(params.mKeyTextInactivatedColor);
|
||||
} else {
|
||||
paint.setColor(params.mKeyTextColor);
|
||||
}
|
||||
|
@ -618,9 +621,14 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
|
|||
hintSize = params.mKeyHintLabelSize;
|
||||
paint.setTypeface(Typeface.DEFAULT);
|
||||
} else if (key.hasUppercaseLetter()) {
|
||||
hintColor = mKeyboard.isManualTemporaryUpperCase()
|
||||
? params.mKeyUppercaseLetterActivatedColor
|
||||
: params.mKeyUppercaseLetterInactivatedColor;
|
||||
// TODO: Remove this first if-clause.
|
||||
if (mKeyboard.isManualTemporaryUpperCase()) {
|
||||
hintColor = params.mKeyUppercaseLetterActivatedColor;
|
||||
} else if (!key.isInactivatedUppercaseLetter()) {
|
||||
hintColor = params.mKeyUppercaseLetterActivatedColor;
|
||||
} else {
|
||||
hintColor = params.mKeyUppercaseLetterInactivatedColor;
|
||||
}
|
||||
hintSize = params.mKeyUppercaseLetterSize;
|
||||
} else { // key.hasHintLetter()
|
||||
hintColor = params.mKeyHintLetterColor;
|
||||
|
|
Loading…
Reference in New Issue