To support auto generate key depending keyboard element id, the
KeysCache class is introduced to hold whole keys and reuse.
Change-Id: Icb81b5f1c1b3aaa31968dcdb93aa0a856e737f78
As a consequence,
* Add Key.iconDisabledKey has been introduced and Key.getIcon honors
the enabled state of the key.
* The attribute id of disabled icon for shortcut key,
Keyboard_iconShortcutKeyDisabled, is renamed to
Keyboard_iconDisbledShortcutKey
* KeyboardIconsSet has getIconByIconId and getIconByAttrId methods
instead of getIcon.
Bug: 5778201
Change-Id: Ica93b073b9a04acd18ead7a33b60e3c6d813e7a1
* Get rid of Key.keyIconShifted attribute.
Add Keyboard.iconShiftKeyShifted to KeyboardIconsSet.
* Get rid of LatinKeyboardView.disabledShortcutIcon attribute.
Add Keyboard.iconShortcurKeyDisabled to KeyboardIconsSet.
* Add Keyboard.iconSpaceKeyForNumber to KeyboardIconsSet.
* Fix misplaced autoCorrectionSpacebarLedIcon resources.
Change-Id: I381bff3789254977ab3cb18f58f95b3c433b1e1a
In deriving various shift stated alphabet keyboards from base/main
keyboard, almost all keys should be shared among variants. Grouping
keys in Set instead of List is a essential refactor to have.
Bug: 5002108
Bug: 5679585
Change-Id: Idd5644d1c45a3276a24b61c984619c03d4e4c54c
* Registering alternate code and while key is typing.
* Showing press/release graphics of the key that has the above altenate code.
* Showing press/release graphics of all shift keys.
* Renaming Key.ignoreWhileTyping to Key.altCodeWhileTyping.
Bug: 5639503
Change-Id: I67fb45bae76284a1f0deb6fd12ae5fb781d06cc3
This change also removes hacks in LatinKeyboardView by utilizing
noKeyPreview attribute.
Bug: 5638595
Change-Id: Icd8a3af3b7849b941f8f5532e2b432e126a909e6
This change also partialy reverts I5832421c, because of incorrect
popup mini key width calculation.
Bug: 5023981
Change-Id: I1acde090c01d3d861fcc5559cad81e638de2c2bb
The first key and the last of the row are automatically marked as left
and right edge key respectively. The existence of Spacer will prevent
those automatic marking.
Bug: 5038844
Change-Id: Ie34169ceaf76e24923b8d8125eda6ecb95cf1fee
This change also modifies 9-patch drawables to fix the following
issues. In order to draw key background drawable just on the
coordinates we want, we have to know where an actual "visible" part is
in the drawable. The only clue we can use is "padding" of the
drawable. To achieve this, the 9-patch drawable must have its
"visible" part marked as "content". Please refer the Bug: 4948171 for
more detailed explanation.
This change also reverts the following "black" drawables back from
Gingerbread because recent change broke these (I70019a91).
* drawable-hdpi/sym_bkeyboard_*.png
* drawable-hdpi/btn_keyboard_key_*_stone.9.png
Bug: 4948171
Change-Id: I6e4d03b3144caa95c793aac97af22df34c5f454f
This change introduces:
* New KeyboardView attribute
* keyLargeLetterRatio to specify large letter text size.
* keyHintLabelRatio to specify hint label text size.
* keyHintLabelColor to specify hint label text color.
* keyPreviewTextRatio to specify key preview text size.
* New Key.keyLabelOption flags
* alignLeftOfCenter, align the key label slightly left of the key center.
* largeLetter, use keyLargeLetterRatio to draw key letter.
* hasHintLabel, draw keyHintLabel at the right of key letter.
* followKeyHintLabelRatio, draw the key label following keyHintLabelRatio size.
* Renames
* Key.keyHintLetter to keyHintLabel.
* Key.keylLabelOption fontFixedWidth to fontMonoSpace.
* Key.keylLabelOption popupHint to hasPopupHint.
* Removes
* number icon releted attributes and declarations.
Change-Id: I2f456737e3a46209e5f48b5155951b2b21a33859
This change also removes manualTemporaryUpperCaseCode and
manualTemporaryUpperCaseHintIcon. Instead of these keyLabelOption now
has hasUppercaseLetter flag value.
Bug: 4436327
Change-Id: I88fdac1e888a7123735296f5ef45f5fdd565cd2e
This change introduces the following features to Keyboard XML format.
* "keyXPos" can specify the key X coordinate directly.
* "keyXPos" can be negative. The X coordinate will be calcluated from
the right edge of the keyboard toward left.
* "keyWidth" can be zero to be filled up to the right side.
* "keyWidth can be negative. The key will be filled up to both sides.
* Spacer's horizontalGap is renamed as keyWidth, and can be inherited
from key-style.
* Spacer can have keyXPos attribute.
Using these syntax, all keyboard layouts have been re-written.
Cherry-Pick: I314b2e8ca2aa145ff9506cbf927140a15685af42
Bug: 4442045
Change-Id: I048fe5eaef020d8472ab577e9d326042bae2f3fa
This change also reverts I8f6102d6 and considers that the point is on
the key while sorting in proximity key detection.
Bug: 4348994
Change-Id: I3ee913675e28da7e7b164805a7a683f0814b38b9
Because handling shift locked state of alphabet keyboard is done by
KeyboardSwitcher, there is no need to change the "on" state of Key
when releasing the key. On the other hand, symbol and symbol shifted
keyboard has fixed "on" state "ALT/MORE" key.
This change also renames the attribute "isModifier" to "isFunctional".
Change-Id: I082885bd2376ae26bdfc378c14add2b5d6be1d4e
This change
- introduces the popupKeyboardTemplate attribute of Keyboard to
specify XML Keyboard file for popup mini keyboard.
- introduces the maxPopupKeyboardColumn attribute of Keyboard to
specify the maximum column of popup mini keyboard.
- changes the content format of the popupCharacters attribute of Key.
It now represents keyLabel, codes and keyTextOutput of each key of
popup mini keyboard using CSV format.
Bug: 2214959
Change-Id: I539e310f7e38a049ee193de0b4ad5d7afdce37b1
This change introduces,
- new attribute keyboardHeight to specify default keyboard height.
- new attribute maxKeyboardHeight to specify maximum keyboard height,
usually specified by percentage to the screen height.
- keyHeight attribute is obsoleted
- new attribute rowHeight to specify a row height, can be specifed as
percentage of the keyboard height. And verticalGap is included to
the row height (row height = key height + vertical gap).
Change-Id: I48a2f2661e8a91a998503a847437c1baf1de9b9c
This change also moves KeyboardSwitcher and related classes to
com.android.inputmethod.keyboard package.
Multi project change with Ib23017b2
Change-Id: Id7d54b24615fe22ebb540ca847549909e346ee24
This change introduces new package com.android.inputmethod.keyboard
which hosts keyboard related classes.
Also adds missing @Override and @SuppressWarning("unused") annotation
Change-Id: I0317f5cfa317e13f3c77815f48ffc69b5d1ade05