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

Commit 425e1996 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Add inactivatedLabel and inactivatedUppercaseLetter flags for Key.keyLabelFlags

Change-Id: I6c7dc79cbad360602b278283f4c3a24c54040622
parent c882d619
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;