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

Commit 83306b91 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Add element predicator to <switch><case> condition of Keyboard

Change-Id: I8f9eb8eb28707d23e421e88f979022d844a3b3ee
parent 117c124c
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -294,6 +294,19 @@
    </declare-styleable>

    <declare-styleable name="Keyboard_Case">
        <!-- This should be aligned with KeyboardSet_Element's elementName. -->
        <attr name="keyboardSetElement" format="enum|string">
            <enum name="alphabet" value="0" />
            <enum name="alphabetManualShifted" value="1" />
            <enum name="alphabetAutomaticShifted" value="2" />
            <enum name="alphabetShiftLocked" value="3" />
            <enum name="alphabetShiftLockShifted" value="4" />
            <enum name="symbols" value="5" />
            <enum name="symbolsShifted" value="6"  />
            <enum name="phone" value="7"  />
            <enum name="phoneShifted" value="8"  />
            <enum name="number" value="9"  />
        </attr>
        <!-- This should be aligned with KeyboardId.MODE_* -->
        <attr name="mode" format="enum|string">
            <enum name="text" value="0" />
+12 −7
Original line number Diff line number Diff line
@@ -1034,6 +1034,9 @@ public class Keyboard {
            final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
                    R.styleable.Keyboard_Case);
            try {
                final boolean keyboardSetElementMatched = matchTypedValue(a,
                        R.styleable.Keyboard_Case_keyboardSetElement, id.mElementId,
                        KeyboardId.elementIdToName(id.mElementId));
                final boolean modeMatched = matchTypedValue(a,
                        R.styleable.Keyboard_Case_mode, id.mMode, KeyboardId.modeName(id.mMode));
                final boolean navigateActionMatched = matchBoolean(a,
@@ -1062,13 +1065,15 @@ public class Keyboard {
                        R.styleable.Keyboard_Case_languageCode, id.mLocale.getLanguage());
                final boolean countryCodeMatched = matchString(a,
                        R.styleable.Keyboard_Case_countryCode, id.mLocale.getCountry());
                final boolean selected = modeMatched && navigateActionMatched
                        && passwordInputMatched && hasSettingsKeyMatched && f2KeyModeMatched
                        && clobberSettingsKeyMatched && shortcutKeyEnabledMatched
                        && hasShortcutKeyMatched && imeActionMatched && localeCodeMatched
                        && languageCodeMatched && countryCodeMatched;

                if (DEBUG) Log.d(TAG, String.format("<%s%s%s%s%s%s%s%s%s%s%s%s%s> %s", TAG_CASE,
                final boolean selected = keyboardSetElementMatched && modeMatched
                        && navigateActionMatched && passwordInputMatched && hasSettingsKeyMatched
                        && f2KeyModeMatched && clobberSettingsKeyMatched
                        && shortcutKeyEnabledMatched && hasShortcutKeyMatched && imeActionMatched
                        && localeCodeMatched && languageCodeMatched && countryCodeMatched;

                if (DEBUG) Log.d(TAG, String.format("<%s%s%s%s%s%s%s%s%s%s%s%s%s%s> %s", TAG_CASE,
                        textAttr(a.getString(R.styleable.Keyboard_Case_keyboardSetElement),
                                "keyboardSetElement"),
                        textAttr(a.getString(R.styleable.Keyboard_Case_mode), "mode"),
                        booleanAttr(a, R.styleable.Keyboard_Case_navigateAction, "navigateAction"),
                        booleanAttr(a, R.styleable.Keyboard_Case_passwordInput, "passwordInput"),