<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<resources>
    <declare-styleable name="KeyboardTheme">
        <!-- Keyboard style -->
        <attr name="keyboardStyle" format="reference" />
        <!-- TODO: Get rid of latinKeyboardStyle -->
        <!-- LatinKeyboard style -->
        <attr name="latinKeyboardStyle" format="reference" />
        <!-- KeyboardView style -->
        <attr name="keyboardViewStyle" format="reference" />
        <!-- LatinKeyboardView style -->
        <attr name="latinKeyboardViewStyle" format="reference" />
        <!-- MoreKeysKeyboard style -->
        <attr name="moreKeysKeyboardStyle" format="reference" />
        <!-- MoreKeysKeyboardView style -->
        <attr name="moreKeysKeyboardViewStyle" format="reference" />
        <attr name="moreKeysKeyboardPanelStyle" format="reference" />
        <!-- Suggestions strip style -->
        <attr name="suggestionsStripBackgroundStyle" format="reference" />
        <attr name="suggestionsViewStyle" format="reference" />
        <attr name="moreSuggestionsViewStyle" format="reference" />
        <attr name="suggestionBackgroundStyle" format="reference" />
        <attr name="suggestionPreviewBackgroundStyle" format="reference" />
    </declare-styleable>

    <declare-styleable name="KeyboardView">
        <!-- Image for the key. This image needs to be a StateListDrawable, with the following
             possible states: normal, pressed, checkable, checkable+pressed, checkable+checked,
             checkable+checked+pressed. -->
        <attr name="keyBackground" format="reference" />

        <!-- Size of the text for one letter keys. If not defined, keyLetterRatio takes effect. -->
        <attr name="keyLetterSize" format="dimension" />
        <!-- Size of the text for keys with multiple letters. If not defined, keyLabelRatio takes
             effect. -->
        <attr name="keyLabelSize" format="dimension" />
        <!-- Size of the text for one letter keys, in the proportion of key height. -->
        <attr name="keyLetterRatio" format="float" />
        <!-- Large size of the text for one letter keys, in the proportion of key height. -->
        <attr name="keyLargeLetterRatio" format="float" />
        <!-- Size of the text for keys with multiple letters, in the proportion of key height. -->
        <attr name="keyLabelRatio" format="float" />
        <!-- Size of the text for hint letter (= one character hint label), in the proportion of
             key height. -->
        <attr name="keyHintLetterRatio" format="float" />
        <!-- Size of the text for hint label, in the proportion of key height. -->
        <attr name="keyHintLabelRatio" format="float" />
        <!-- Size of the text for shifted letter hint, in the proportion of key height. -->
        <attr name="keyShiftedLetterHintRatio" format="float" />
        <!-- Horizontal padding of left/right aligned key label to the edge of the key. -->
        <attr name="keyLabelHorizontalPadding" format="dimension" />
        <!-- Top and right padding of hint letter to the edge of the key.-->
        <attr name="keyHintLetterPadding" format="dimension" />
        <!-- Bottom padding of popup hint letter "..." to the edge of the key.-->
        <attr name="keyPopupHintLetterPadding" format="dimension" />
        <!-- Top and right padding of shifted letter hint to the edge of the key.-->
        <attr name="keyShiftedLetterHintPadding" format="dimension" />

        <!-- Color to use for the label in a key. -->
        <attr name="keyTextColor" format="color" />
        <!-- Color to use for the label in a key when in inactivated state. -->
        <attr name="keyTextInactivatedColor" format="color" />
        <!-- Key hint letter (= one character hint label) color -->
        <attr name="keyHintLetterColor" format="color" />
        <!-- Key hint label color -->
        <attr name="keyHintLabelColor" format="color" />
        <!-- Shifted letter hint colors -->
        <attr name="keyShiftedLetterHintInactivatedColor" format="color" />
        <attr name="keyShiftedLetterHintActivatedColor" format="color" />

        <!-- Layout resource for key press feedback.-->
        <attr name="keyPreviewLayout" format="reference" />
        <!-- The background for key press feedback. -->
        <attr name="keyPreviewBackground" format="reference" />
        <!-- The background for the left edge key press feedback. -->
        <attr name="keyPreviewLeftBackground" format="reference" />
        <!-- The background for the right edge key press feedback. -->
        <attr name="keyPreviewRightBackground" format="reference" />
        <!-- The width of rectangle part of the key press feedback background. -->
        <attr name="keyPreviewBackgroundWidth" format="dimension" />
        <!-- The height of rectangle part of the key press feedback background. -->
        <attr name="keyPreviewBackgroundHeight" format="dimension" />
        <!-- The text color for key press feedback. -->
        <attr name="keyPreviewTextColor" format="color" />
        <!-- Vertical offset of the key press feedback from the key. -->
        <attr name="keyPreviewOffset" format="dimension" />
        <!-- Height of the key press feedback popup. -->
        <attr name="keyPreviewHeight" format="dimension" />
        <!-- Size of the text for key press feedback popup, int the proportion of key height -->
        <attr name="keyPreviewTextRatio" format="float" />
        <!-- Delay after key releasing and key press feedback dismissing in millisecond -->
        <attr name="keyPreviewLingerTimeout" format="integer" />

        <!-- Amount to offset the touch Y coordinate by, for bias correction. -->
        <attr name="verticalCorrection" format="dimension" />

        <!-- Layout resource for more keys panel -->
        <attr name="moreKeysLayout" format="reference" />

        <attr name="shadowColor" format="color" />
        <attr name="shadowRadius" format="float" />
        <attr name="backgroundDimAlpha" format="integer" />

        <attr name="keyTextStyle" format="enum">
            <!-- This should be aligned with Typeface.NORMAL etc. -->
            <enum name="normal" value="0" />
            <enum name="bold" value="1" />
            <enum name="italic" value="2" />
            <enum name="boldItalic" value="3" />
        </attr>
    </declare-styleable>

    <declare-styleable name="LatinKeyboardView">
        <attr name="autoCorrectionSpacebarLedEnabled" format="boolean" />
        <attr name="autoCorrectionSpacebarLedIcon" format="reference" />
        <!-- Size of the text for spacebar language label, in the proportion of key height. -->
        <attr name="spacebarTextRatio" format="fraction" />
        <attr name="spacebarTextColor" format="color" />
        <attr name="spacebarTextShadowColor" format="color" />
        <!-- Fadeout animator for spacebar language label. -->
        <attr name="languageOnSpacebarFinalAlpha" format="integer" />
        <attr name="languageOnSpacebarFadeoutAnimator" format="reference" />
        <!-- Fadeout and fadein animator for altCodeWhileTyping keys. -->
        <attr name="altCodeKeyWhileTypingFadeoutAnimator" format="reference" />
        <attr name="altCodeKeyWhileTypingFadeinAnimator" format="reference" />
        <!-- Key detection hysteresis distance. -->
        <attr name="keyHysteresisDistance" format="dimension" />
        <!-- Touch noise threshold time in millisecond -->
        <attr name="touchNoiseThresholdTime" format="integer" />
        <!-- Touch noise threshold distance in millimeter -->
        <attr name="touchNoiseThresholdDistance" format="dimension" />
        <!-- Sliding key input enable -->
        <attr name="slidingKeyInputEnable" format="boolean" />
        <!-- Key repeat start timeout -->
        <attr name="keyRepeatStartTimeout" format="integer" />
        <!-- Key repeat interval in millisecond. -->
        <attr name="keyRepeatInterval" format="integer" />
        <!-- Long press timeout of letter key in millisecond. -->
        <attr name="longPressKeyTimeout" format="integer" />
        <!-- Long press timeout of shift key in millisecond. -->
        <attr name="longPressShiftKeyTimeout" format="integer" />
        <!-- Long press timeout of space key in millisecond. -->
        <attr name="longPressSpaceKeyTimeout" format="integer" />
        <!-- Ignore special key timeout while typing in millisecond. -->
        <attr name="ignoreAltCodeKeyTimeout" format="integer" />
        <!-- More keys keyboard will shown at touched point. -->
        <attr name="showMoreKeysKeyboardAtTouchedPoint" format="boolean" />
    </declare-styleable>

    <declare-styleable name="SuggestionsView">
        <attr name="suggestionStripOption" format="integer">
            <!-- This should be aligned with SuggestionsViewParams.AUTO_CORRECT_* and etc. -->
            <flag name="autoCorrectBold" value="0x01" />
            <flag name="autoCorrectUnderline" value="0x02" />
            <flag name="validTypedWordBold" value="0x04" />
        </attr>
        <attr name="colorValidTypedWord" format="color" />
        <attr name="colorTypedWord" format="color" />
        <attr name="colorAutoCorrect" format="color" />
        <attr name="colorSuggested" format="color" />
        <attr name="alphaValidTypedWord" format="integer" />
        <attr name="alphaTypedWord" format="integer" />
        <attr name="alphaAutoCorrect" format="integer" />
        <attr name="alphaSuggested" format="integer" />
        <attr name="alphaObsoleted" format="integer" />
        <attr name="suggestionsCountInStrip" format="integer" />
        <attr name="centerSuggestionPercentile" format="integer" />
        <attr name="maxMoreSuggestionsRow" format="integer" />
        <attr name="minMoreSuggestionsWidth" format="float" />
    </declare-styleable>

    <declare-styleable name="Keyboard">
        <attr name="themeId" format="integer" />
        <!-- Touch position correction -->
        <attr name="touchPositionCorrectionData" format="reference" />
        <!-- Default keyboard height -->
        <attr name="keyboardHeight" format="dimension|fraction" />
        <!-- Maximum keyboard height, in pixels or percentage of display height -->
        <attr name="maxKeyboardHeight" format="dimension|fraction" />
        <!-- Minimum keyboard height represented in pixels, percentage of display height if fraction
             is positive, or percentage of display width if fraction is negative. -->
        <attr name="minKeyboardHeight" format="dimension|fraction" />
        <!-- Keyboard top, bottom, both horizontal edges paddings. -->
        <attr name="keyboardTopPadding" format="dimension|fraction" />
        <attr name="keyboardBottomPadding" format="dimension|fraction" />
        <attr name="keyboardHorizontalEdgesPadding" format="dimension|fraction" />
        <!-- Default height of a row (key height + vertical gap), in pixels or percentage of
             keyboard height. -->
        <attr name="rowHeight" format="dimension|fraction" />
        <!-- Default horizontal gap between keys, in pixels or percentage of keyboard width. -->
        <attr name="horizontalGap" format="dimension|fraction" />
        <!-- Default vertical gap between rows of keys, in pixels or percentage of keyboard
             height. -->
        <attr name="verticalGap" format="dimension|fraction" />
        <!-- More keys keyboard layout template -->
        <attr name="moreKeysTemplate" format="reference" />
        <!-- Icon set for key top and key preview. -->
        <attr name="iconShiftKey" format="reference" />
        <attr name="iconDeleteKey" format="reference" />
        <attr name="iconSettingsKey" format="reference" />
        <attr name="iconSpaceKey" format="reference" />
        <attr name="iconReturnKey" format="reference" />
        <attr name="iconSearchKey" format="reference" />
        <attr name="iconTabKey" format="reference" />
        <attr name="iconShortcutKey" format="reference" />
        <attr name="iconShortcutForLabel" format="reference" />
        <attr name="iconSpaceKeyForNumberLayout" format="reference" />
        <attr name="iconShiftKeyShifted" format="reference" />
        <attr name="iconDisabledShortcutKey" format="reference" />
        <attr name="iconPreviewTabKey" format="reference" />
        <attr name="iconLanguageSwitchKey" format="reference" />
        <attr name="iconZwnjKey" format="reference" />
        <attr name="iconZwjKey" format="reference" />
    </declare-styleable>

    <declare-styleable name="Keyboard_Key">
        <!-- The unicode value that this key outputs. -->
        <attr name="code" format="integer" />
        <!-- The alternate unicode value that this key outputs while typing. -->
        <attr name="altCode" format="integer" />
        <!-- The keys to display in the more keys keyboard. -->
        <attr name="moreKeys" format="string" />
        <!-- The keys to display in the more keys keyboard in addition to moreKeys.
             The additional more keys are inserted at the '%' markers in the moreKeys if any.
             They are inserted at the head of moreKeys if none.
             If there are remaining entries of additionalMoreKeys even after all '%' markers have
             been replaced, those remaining entries are appended at the end of moreKeys. -->
        <attr name="additionalMoreKeys" format="string" />
        <!-- Maximum column of more keys keyboard -->
        <attr name="maxMoreKeysColumn" format="integer" />
        <attr name="backgroundType" format="enum">
            <!-- This should be aligned with Key.BACKGROUND_TYPE_* -->
            <enum name="normal" value="0" />
            <enum name="functional" value="1" />
            <enum name="action" value="2" />
            <enum name="stickyOff" value="3" />
            <enum name="stickyOn" value="4" />
        </attr>
        <!-- The key action flags. -->
        <attr name="keyActionFlags" format="integer">
            <!-- This should be aligned with Key.ACTION_FLAGS_* -->
            <flag name="isRepeatable" value="0x01" />
            <flag name="noKeyPreview" value="0x02" />
            <flag name="altCodeWhileTyping" value="0x04" />
            <flag name="enableLongPress" value="0x08" />
        </attr>
        <!-- The string of characters to output when this key is pressed. -->
        <attr name="keyOutputText" format="string" />
        <!-- The label to display on the key. -->
        <attr name="keyLabel" format="string" />
        <!-- The hint label to display on the key in conjunction with the label. -->
        <attr name="keyHintLabel" format="string" />
        <!-- The key label flags. -->
        <attr name="keyLabelFlags" format="integer">
            <!-- This should be aligned with Key.LABEL_FLAGS__* -->
            <flag name="alignLeft" value="0x01" />
            <flag name="alignRight" value="0x02" />
            <flag name="alignLeftOfCenter" value="0x08" />
            <flag name="largeLetter" value="0x10" />
            <flag name="fontNormal" value="0x20" />
            <flag name="fontMonoSpace" value="0x40" />
            <flag name="followKeyLetterRatio" value="0x80" />
            <flag name="followKeyHintLabelRatio" value="0x100" />
            <flag name="hasPopupHint" value="0x200" />
            <flag name="hasShiftedLetterHint" value="0x400" />
            <flag name="hasHintLabel" value="0x800" />
            <flag name="withIconLeft" value="0x1000" />
            <flag name="withIconRight" value="0x2000" />
            <flag name="autoXScale" value="0x4000" />
            <!-- 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 keyShiftedLetterHintActivatedColor for the shifted letter hint and
                 keyTextInactivatedColor for the primary key top label. -->
            <flag name="shiftedLetterActivated" value="0x10000" />
            <!-- If true, use EditorInfo.actionLabel for the key label. -->
            <flag name="fromCustomActionLabel" value="0x20000" />
            <!-- If true, disable keyHintLabel. -->
            <flag name="disableKeyHintLabel" value="0x40000000" />
            <!-- If true, disable additionalMoreKeys. -->
            <flag name="disableAdditionalMoreKeys" value="0x80000000" />
        </attr>
        <!-- The icon to display on the key instead of the label. -->
        <attr name="keyIcon" format="enum">
            <!-- This should be aligned with the KeyboardIconsSet.ICON_* -->
            <enum name="iconUndefined" value="0" />
            <enum name="iconShiftKey" value="1" />
            <enum name="iconDeleteKey" value="2" />
            <enum name="iconSettingsKey" value="3" />
            <enum name="iconSpaceKey" value="4" />
            <enum name="iconReturnKey" value="5" />
            <enum name="iconSearchKey" value="6" />
            <enum name="iconTabKey" value="7" />
            <enum name="iconShortcutKey" value="8" />
            <enum name="iconShortcutForLabel" value="9" />
            <enum name="iconSpaceKeyForNumberLayout" value="10" />
            <enum name="iconShiftKeyShifted" value="11" />
            <enum name="iconLanguageSwitchKey" value="14" />
            <enum name="iconZwnjKey" value="15" />
            <enum name="iconZwjKey" value="16" />
        </attr>
        <!-- The icon for disabled key -->
        <attr name="keyIconDisabled" format="enum">
            <!-- This should be aligned with the KeyboardIconsSet.ICON_* -->
            <enum name="iconDisabledShortcutKey" value="12" />
        </attr>
        <!-- The icon to show in the popup preview. -->
        <attr name="keyIconPreview" format="enum">
            <!-- This should be aligned with the KeyboardIconsSet.ICON_* -->
            <enum name="iconPreviewTabKey" value="13" />
        </attr>
        <!-- The key style to specify a set of key attributes defined by <key_style/> -->
        <attr name="keyStyle" format="string" />
        <!-- Visual insets -->
        <attr name="visualInsetsLeft" format="dimension|fraction" />
        <attr name="visualInsetsRight" format="dimension|fraction" />
        <!-- Width of the key, in pixels or percentage of display width.
             If the value is fillRight, the actual key width will be determined to fill out the area
             up to the right edge of the keyboard.
             If the value is fillBoth, the actual key width will be determined to fill out the
             area between the nearest key on the left hand side and the right edge of the keyboard.
             -->
        <!-- This should be aligned with KeyboardBuilder.Row.KEYWIDTH_* -->
        <attr name="keyWidth" format="dimension|fraction|enum">
            <enum name="fillRight" value="-1" />
            <enum name="fillBoth" value="-2" />
        </attr>
        <!-- The X-coordinate of upper right corner of this key including horizontal gap.
             If the value is negative, the origin is the right edge of the keyboard. -->
        <attr name="keyXPos" format="dimension|fraction" />
    </declare-styleable>

    <declare-styleable name="Keyboard_Include">
        <attr name="keyboardLayout" format="reference" />
    </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="phoneSymbols" 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" />
            <enum name="url" value="1" />
            <enum name="email" value="2" />
            <enum name="im" value="3" />
            <enum name="phone" value="4" />
            <enum name="number" value="5" />
        </attr>
        <attr name="navigateNext" format="boolean" />
        <attr name="navigatePrevious" format="boolean" />
        <attr name="passwordInput" format="boolean" />
        <attr name="clobberSettingsKey" format="boolean" />
        <attr name="shortcutKeyEnabled" format="boolean" />
        <attr name="hasShortcutKey" format="boolean" />
        <attr name="languageSwitchKeyEnabled" format="boolean" />
        <attr name="isMultiLine" format="boolean" />
        <attr name="imeAction" format="enum">
            <!-- This should be aligned with EditorInfo.IME_ACTION_* -->
            <enum name="actionUnspecified" value="0" />
            <enum name="actionNone" value="1" />
            <enum name="actionGo" value="2" />
            <enum name="actionSearch" value="3" />
            <enum name="actionSend" value="4" />
            <enum name="actionNext" value="5" />
            <enum name="actionDone" value="6" />
            <enum name="actionPrevious" value="7" />
            <!--  This should be aligned with KeyboardId.IME_ACTION_* -->
            <enum name="actionCustomLabel" value="0x100" />
        </attr>
        <attr name="localeCode" format="string" />
        <attr name="languageCode" format="string" />
        <attr name="countryCode" format="string" />
    </declare-styleable>

    <declare-styleable name="Keyboard_KeyStyle">
        <attr name="styleName" format="string" />
        <attr name="parentStyle" format="string" />
    </declare-styleable>

    <declare-styleable name="KeyboardSet_Element">
        <!-- This should be aligned with KeyboardId.ELEMENT_* -->
        <attr name="elementName" format="enum">
            <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="phoneSymbols" value="8"  />
            <enum name="number" value="9"  />
        </attr>
        <attr name="elementKeyboard" format="reference"/>
        <!-- Enable proximity characters correction. Disabled by default. -->
        <attr name="enableProximityCharsCorrection" format="boolean" />
    </declare-styleable>
</resources>
