149 Commits

Author SHA1 Message Date
Tadashi G. Takaoka
ca2f051cc1 Auto generate various shift states alphabet keyboard automatically
If any shift state variants of alphabet keyboard layout is not
specified in KeyboardSet.Element, it will be automatically generated
from base alphabet keyboard definition.

This change also
  * Eliminates KeyboardShiftState object from Keyboard.
  * Removes various set shift state methods from Keyboard.
  * Removes KeyboardSet.Element.elementAutoGenerate attribute.
  * Separates "sticky" Key.backgroundType to "stickyOff" and "stickyOn"
  * Add preserveCase flag to smiley, .com, and labeled special keys.
  * Rename KeyboardShiftState class to AlphabetShiftState.
  * Rename some attributes from *UppercaseLetter* to *ShiftedLetterHint*.
  * Introduce shiftedLetterActivated to Key.keyLabelFlags

Change-Id: I01a0a8efeeaa76820ae728a5bdfa8d02b6ce74b7
2012-01-31 12:55:45 +09:00
Tadashi G. Takaoka
15c99e9f1a Support addtionalMoreKeys
This change also removes
  * Unused more_keys_for_q, w, and p.

Change-Id: Idb99e5f6d8c2ad2d28437f42b35b21c282cd181f
2012-01-30 17:04:25 +09:00
Tadashi G. Takaoka
f057b25cdd Save and restore previous mode keyboard state at KeyboardState.toggleAlphabetAndSymbols
Bug: 5881820
Change-Id: I9b1718b16c60f27c05ba727724c0189aa5284334
2012-01-27 16:03:51 +09:00
Tadashi G. Takaoka
757f8d96ee Add KeyboardState.SwitchActions.setAlphabetShiftLockShifted
Change-Id: I6c49d8eb0a8272840ff03e0940d88a31c3d20bd9
2012-01-26 18:25:48 +09:00
Tadashi G. Takaoka
bcf2b79365 Prepare to get rid of Drawable reference from Key
Change-Id: If435f95b2863e0af8d8916c643e6b01feabd3ea5
2012-01-25 19:41:15 +09:00
Tadashi G. Takaoka
38d6a18821 Use String instaed of CharSequence in Key class
Change-Id: Ia76a41daede402ed2a509e110ae97d6bb660c760
2012-01-25 17:04:00 +09:00
Tadashi G. Takaoka
117c124c13 Add autoGenerateFromAlphabet enum to KeyboardSet.Element.elementKeyboard
This is the first step to support separate Keyboard for elementName.
This change is the second attempt of Icef66564.

Change-Id: I78ea6cb9ea3d965ff89e0ff5d896a6b11ba5c670
2012-01-25 13:19:53 +09:00
Tadashi Takaoka
8bb20bc682 Revert "Add autoGenerateFromAlphabet enum to KeyboardSet.Element.elementKeyboard"
This reverts commit b5b92f9b78295366c12b25d1b464a371401c3677

Bug: 5908440
2012-01-24 15:20:05 -08:00
Tadashi G. Takaoka
b5b92f9b78 Add autoGenerateFromAlphabet enum to KeyboardSet.Element.elementKeyboard
This is the first step to support separate Keyboard for elementName.

Change-Id: Icef66564b6938910fa06ecab664dce4be84c9505
2012-01-24 18:31:11 +09:00
Tadashi G. Takaoka
25971b5a14 Clean up symbol key chording state from KeyboardState
Change-Id: I575da2bf2941c8a2e7b1fe0a455cbcdebb201276
2012-01-24 17:59:35 +09:00
Tadashi G. Takaoka
83d81f2e34 Fix sliding shift input in caps lock mode
Bug: 5881820
Change-Id: I4cbe3eda83c09edc9da8efbdff7d3359c1e140d5
2012-01-24 17:58:23 +09:00
Tadashi G. Takaoka
747ed9e99a For get the symbols shifted state when switch back from alphabet layout
Bug: 5881820
Change-Id: Ic478264e1cd366affc34fbf4cd59f1b6e7efede7
2012-01-24 17:28:00 +09:00
Tadashi G. Takaoka
0f05076990 Get rid of setShifted/setShiftLocked from SwitchActions
Change-Id: Ib54b0575be190556690ef2dfb14077842745f038
2012-01-24 12:27:09 +09:00
Tadashi G. Takaoka
4eb240eb2c Force KeyboardShiftState reset by setShiftLocked(false)
Change-Id: Ib00d598e6e6a91e594ae01cfc51fb688601f6b8f
2012-01-23 13:18:06 +09:00
Tadashi G. Takaoka
457e506e1a Add more debug message to KeyboardState
Change-Id: Ie0bceb494b0521bf406418d5ecbc16752c818aba
2012-01-23 13:14:02 +09:00
Tadashi G. Takaoka
b009a24b83 Support @icon/icon_name for more keys specification
Change-Id: I8842e5ce77f9d27a0969df947de292c1830e36b7
2012-01-20 20:09:02 +09:00
Tadashi G. Takaoka
e54a4005d5 Support @string reference in moreKeys attribute
Change-Id: If0056d0601149d2ddd0e231a81e7b2409b37fc06
2012-01-20 18:46:33 +09:00
Tadashi G. Takaoka
3eede315dc Merge "Move MoreKeySpecParser.getResourceId to Utils" 2012-01-20 00:01:29 -08:00
Tadashi G. Takaoka
0718590486 Move MoreKeySpecParser.getResourceId to Utils
Change-Id: I0640dbe76a8ff2dc45b504eca631942811571736
2012-01-20 16:28:18 +09:00
Tadashi G. Takaoka
bd7b160cfb Change more key specification type to String from CharSequence
Change-Id: I5e910f8225a248fc6403771836dec4c0b7294caa
2012-01-20 16:27:32 +09:00
Tadashi G. Takaoka
f36f90a173 Fix KeyboardState switching back from alphabet-chording input correctly
Bug: 5881820
Change-Id: I108bbc25baa331cc87f00955b48188b3557d10dd
2012-01-19 18:53:38 +09:00
Tadashi G. Takaoka
d26d63b35d Fix KeyboardState to pass KeyboardStateMultiTouchTests
Change-Id: If2b9ee7cf3fad7633d64b98758f802792d66f7a8
2012-01-19 18:48:02 +09:00
Tadashi G. Takaoka
01d9fc966a Cleanup KeyboardState a bit
Rename KeyboardShiftState variable and reorder some statements.

Change-Id: I7e8842836f35876f8697f9906343f7d4a1f9db4f
2012-01-19 18:42:11 +09:00
Tadashi G. Takaoka
23bacdb6a5 Fix MoreKeySpecParser to be able to handle outputText correctly
The issue was introduced by Id2320f4d.

Bug: 5887936
Change-Id: Ifec3aefb5b168f790de696ece104b84cdab46539
2012-01-19 12:51:27 +09:00
Tadashi G. Takaoka
06bc1db017 Add more multitouch tests
Change-Id: I424a4b608fec084cb787003ef4417ccf273366ae
2012-01-18 19:35:01 +09:00
Tadashi G. Takaoka
60c4594ee6 Get rid of hasDistinctMultitouch reference from KeyboardState
Change-Id: I0a783a425302fbc381d056f5b0d757c27f2a9f14
2012-01-18 18:11:46 +09:00
Tadashi G. Takaoka
5731b939c7 Remove KeyboardSwicther.toggleCapslock
Change-Id: Id613c06e2df770659095d78d42637aed063d0c70
2012-01-17 19:26:24 +09:00
Tadashi G. Takaoka
2a88440419 Rename KeyboardActionListener methods
* Rename KeyboardActionListener.onPress to onPressKey
* Rename KeyboardActionListener.onRelease to onReleaseKey
* Merge KeyboardSwicther.onPressShift, onPressSymbol, and onPressOtherKey to onPressKey.
* Merge KeyboardSwitcher.onReleaseShift and onReleaseSymbol to onReleaseKey.
* Merge KeyboardState.onPressShift, onPressSymbol, and onPressOtherKey to onPressKey.
* Merge KeyboardState.onReleaseShift and onReleaseSymbol to onReleaseKey.

Change-Id: Icf28fd18e238c5e534c292893e4ab5b6b98e72f8
2012-01-17 19:07:20 +09:00
Tadashi G. Takaoka
87e025da11 Remove toggleShift and toggleAlphabetAndSymbols from KeyboardSwitcher
Change-Id: I9bb8f78b0a766cd7937d5cbe1c1e5e35898b2997
2012-01-17 16:49:33 +09:00
Tadashi G. Takaoka
58e782a225 Remove duplicate logic from KeyboardSwitcher and KeyboardState
Change-Id: I1d331ee7f71501baa4ec2df01df39340499834e4
2012-01-16 19:16:26 +09:00
Tadashi G. Takaoka
7bc61ca183 Fix double tap shift key to turn off capslock mode
Bug: 5873562
Change-Id: If1f5ae1684905c1418ae43e55df38509444d29e2
2012-01-16 18:54:25 +09:00
Tadashi G. Takaoka
c88026e1df Update shift state when alphabet keyboard has been set
Bug: 5857492
Change-Id: I5ef78af21a76e8cf645e223d1ffa6212690bb1eb
2012-01-16 11:08:29 +09:00
Tadashi G. Takaoka
8cab0b56eb Get rid of Keyboard.CODE_DUMMY
Change-Id: Id2320f4d9b5f22f0ac844ab20ce42b0c4e7c6880
2012-01-10 18:19:36 +09:00
Tadashi G. Takaoka
ee4be6e3c6 Call KeyboardState.onUpdateShiftState from onCodeInput if code is a normal letter
This will be helpful to write unit test code.

Change-Id: Ib61cc46ac547084e0dc9ecd3a50814fecf08ace2
2012-01-10 15:13:05 +09:00
Tadashi G. Takaoka
42fcb2de64 Get rid of public reference to KeyboardIconsSet.ICON_* constants
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
2011-12-19 01:11:09 +09:00
Tadashi G. Takaoka
4e1dab8cfa Move KeyboardBuilder and KeyboardParams classes into Keyboard class
This change also moves XmlParseUtils to com.android.inputmethod.latin package.

Bug: 5778201
Change-Id: I7d9faa344460753ce178ad4048e0fadb65c75614
2011-12-18 20:19:16 +09:00
Tadashi G. Takaoka
7bd714c086 Add extra key icons to KeyboardIconsSet
* 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
2011-12-18 18:25:29 +09:00
Tadashi G. Takaoka
4a019a9c96 Use Set to group Keys in Keyboard instead of List
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
2011-12-16 21:04:04 +09:00
Tadashi G. Takaoka
645128af71 Move KeyboardSwitcher.getKeyboard to KeyboardSet
This change also gets rid of XML id from KeyboardId.

Bug: 5002108
Bug: 5679585
Change-Id: I7086c7da3c01ba4ade7f77ee5cc731310da46404
2011-12-16 20:10:57 +09:00
Tadashi G. Takaoka
b8c2c6e2ec Merge "Add XmlParseUtils class" 2011-12-14 03:02:17 -08:00
Tadashi G. Takaoka
4665463ccd Add XmlParseUtils class
Change-Id: Ie288272bc75832db7d743262c4c4fbe73b6dca04
2011-12-14 19:46:03 +09:00
Tadashi G. Takaoka
2d603fff64 Remove EditorInfo from KeyboardId
Change-Id: I70919ff30622afa1d8c29ca45589fa617f2c1f0e
2011-12-14 18:58:55 +09:00
Tadashi G. Takaoka
8b1b8aae9c Cleanup settings key related stuff
Change-Id: Ie0d1204e94fcdf9d578974256bf2ae3e87797f13
2011-12-14 16:34:35 +09:00
Tadashi G. Takaoka
f86109ca56 Utilize KeyboardSet XML definitions
This change introduces KeyboardSet and SubKeyboard XML definitions to
represent a set of keyboard layouts.

Bug: 5002108
Bug: 5679585
Change-Id: Ib6c8d5936187381bb6725c9fe574e93871c01a86
2011-12-14 16:28:31 +09:00
Tadashi G. Takaoka
dfbe254de6 Add unit test of KeyboardState
Bug: 5708602
Change-Id: I1a8a9f4320948bb500a96df8773b0bfa1a1d4167
2011-12-12 16:34:11 +09:00
Tadashi G. Takaoka
df9deffba2 Remove unused public methods from KeyboardState and KeyboardSwitcher
Bug: 5708602
Change-Id: I3dbc3cd00aa9ddf611e2078ff2cfea8945fa09bf
2011-12-09 21:14:13 +09:00
Tadashi G. Takaoka
10dcc7eb67 KeyboardState keeps track of isAlphabetMode and isSymbolShifted
Bug: 5708602
Change-Id: I181cdeb90d24984ce6f6c993b278293aae7364eb
2011-12-09 16:09:16 +09:00
Tadashi G. Takaoka
930a55b846 Cleanup debug logging code
Change-Id: If806d61c5945d319c89d9cc127e09f98b7b10a4e
2011-12-09 15:14:05 +09:00
Tadashi G. Takaoka
805402e8fa Get rid of public KeyboardState.setShifted and setShiftLocked
Bug: 5708602
Change-Id: I98bcca7d3e9dd88f034d0faecada76902b2d0dff
2011-12-09 15:13:23 +09:00
Tadashi G. Takaoka
96c56cb577 Remove direct calls of setKeyboardXXX from KeyboardSwitcher
These calls, setAlphabetKeyboard, setSymbolsKeyboard, and
setSymbolsShiftedKeyboard have to be call backed from KeyboardState.

Bug: 5708602
Change-Id: Ibbe1a21bd10bf942e17886869c0ab0fa1735b87e
2011-12-09 13:26:11 +09:00