Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32c4635f authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Add inactivatedLabel and inactivatedUppercaseLetter flags for Key.keyLabelFlags"

parents 23f486f7 425e1996
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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">
+10 −0
Original line number Diff line number Diff line
@@ -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);
+11 −3
Original line number Diff line number Diff line
@@ -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;