Commit graph

136 commits

Author SHA1 Message Date
Tadashi G. Takaoka
9a3211802b Add unit tests for double tap shift key
Bug: 6568746
Change-Id: I84db31ce86e3e043ac9f9bb971663a629fa3d3c7
2012-05-29 19:23:45 +09:00
Tadashi G. Takaoka
2959fc0f13 Delay shift lock transient until long pressed shift key is released
Bug: 5424586
Change-Id: Ib602af1b38b1b109bdac9cb0c53132169556db2f
2012-05-29 18:14:11 +09:00
Tadashi G. Takaoka
fb0a4ba8fd Add unit tests for long press shift key
Bug: 5424586
Change-Id: I8465b7e2cebb07a135e24ea33eb7b7fb6752f7a2
2012-05-29 18:11:07 +09:00
Tadashi G. Takaoka
0d6d4c20ce More precise KeyboardState unit test
Bug: 5424586
Change-Id: I838c82e3fe4629929cbd6e21111d139e7becab55
2012-05-29 16:42:43 +09:00
Tadashi G. Takaoka
0a3362d264 Make KeySpecParser case sensitive again
Partially revert I76c3e917.

Bug: 6561272
Change-Id: I5649a8ecb44bd11c67785ea97ddbb67b0a019ccc
2012-05-28 19:07:51 +09:00
Tadashi G. Takaoka
7ab7f66c2d Fix adjusting key's label/code case
With this fix, we may probably be able to revert I76c3e917 (Make
KeySpecParser case insensitive).

Bug: 6561272
Change-Id: Ic7571560d7b422ffc9a07f0acecd388e0b330d50
2012-05-28 12:34:49 +09:00
Tadashi G. Takaoka
16950d65c3 Reset automatic upper case when chroding key is pressed
Bug: 6501446
Change-Id: Idc3b88b5370c0d7968cc388885e9066f922cfcf3
2012-05-21 19:24:43 +09:00
Tadashi G. Takaoka
2972ccb851 Add multi touch and shift chording unit tests
Bug: 6501446
Change-Id: Iac423d152702241adae77fe1c343541d70608269
2012-05-21 15:01:41 +09:00
Tadashi G. Takaoka
553e2f19c1 Change auto caps mode argument to int type
Bug: 6501446
Change-Id: I3f7bc0fc39edd29ebf96107c3d43b9ccc9b8022e
2012-05-18 17:46:05 +09:00
Tadashi G. Takaoka
757c12556b Get subtype name string resource from its own locale
Bug: 6443655
Change-Id: Ib9ee55178f0d0f885aa0640b9cba4a179cf0c566
2012-05-07 00:44:54 +09:00
Tadashi G. Takaoka
27b42ced86 Fix "no language" subtype name (DO NOT MERGE)
* Move SubtypeLocale.get{Full,Middle,Short}DisplayName() to
  LatinLeyboardView and add unit tests (SpacebarTextTests).
* Add SubtypeLocale.getSubtypeDisplayName()

This is a cherry-pick of I57420c6a from Master.

Bug: 6393865
Change-Id: I68748189c17c73984ac4ae05a5a40fb54bf46453
2012-04-26 11:50:28 +09:00
Tadashi G. Takaoka
6bfd5f6319 Fix confusable "label" usage, use "text" instead
* Rename makelabel tool to maketext
* Rename KeyboardLablesSet class to KeyboardTextsSet
* Rename "!label/name" to "!text/name"

Change-Id: Ia9494a89fe56f20ca8e8fedb253adbcf8b771bd3
2012-04-20 15:48:30 +09:00
Tadashi G. Takaoka
cf41aff251 Use string attribute for icon name
Change-Id: I336acf33c7e6bc993b9da9b17ec689975fa8127d
2012-04-20 15:31:42 +09:00
Tadashi G. Takaoka
2f16fd40fa Make KeySpecParser case insensitive
Change-Id: I76c3e9179dd8777d3cf3138ad76513d83672debf
2012-04-20 13:20:08 +09:00
Tadashi G. Takaoka
a58ebc73ae Fix typo of some methods' name
Also changes some methods' argument type from Locale to String.

Change-Id: Ib68b528a450dc68a01546483403230f76500bee4
2012-04-18 16:40:50 +09:00
Brett Chabot
5abbf24eb0 Remove format method from tests.
Will be added to superclass.

Bug 5826326

Change-Id: I61478661b822823112f774745a6642a6185366d3
2012-04-11 19:03:19 -07:00
Tadashi G. Takaoka
2be51f4fd0 Generate KeyboardLabelsSet from donottranslate-more-keys.xml
This change introduces makelabel tool that reads all languages'
donottranslate-more-keys and generate KeyboardLabelsSet.java source
file. The makelabel command must be invoked prior to compile LatinIME.

Change-Id: I7515c7919c535e30f9c80a37bdc831d0f682cd43
2012-04-11 11:23:47 +09:00
Tadashi G. Takaoka
8834e3dbce Fix KeyboardCodesSet code mapping
This is a follow up for Icfd6d06f.

Change-Id: I9a11c6f1c8d9654e3fb004940791055c2bcf9f17
2012-04-10 15:09:26 +09:00
Tadashi G. Takaoka
7f0c503afc Use !icon/<icon_name> notation for more keys spec
Change-Id: I616e6c1ac603d2eb7a5c99ec70d5411371d15f3e
2012-04-10 12:01:07 +09:00
Tadashi G. Takaoka
ed3bac91f2 Introduce KeyboardCodesSet.java and remove keycodes.xml
Change-Id: Icfd6d06f47425aa037682d22c895548ba6f047d8
2012-04-10 11:53:58 +09:00
Tadashi G. Takaoka
5ef4fccbb9 Support dividers in MoreKeysKeyboard
Bug: 6080806
Change-Id: Iacd78c6aab6abf948717d34da7489a79c41316d2
2012-03-02 20:52:25 +09:00
Tadashi G. Takaoka
42fd1d2d72 Refactor more keys spec handling
Change-Id: Ibd95eff0725724ea35ad58e1d1ec7ec3d02a6e90
2012-03-01 16:07:02 +09:00
Tadashi G. Takaoka
4ba2216219 Reset previous symbols shifted state when auto switch backed
Bug: 6072517
Change-Id: I00337b3ed5c85df4627e8f5a02465d406c4d9178
2012-03-01 01:01:09 +09:00
Tadashi G. Takaoka
fed72d6038 Merge "Support fixed order more keys" 2012-02-17 01:01:28 -08:00
Tadashi G. Takaoka
aeeed75848 Support fixed order more keys
Change-Id: I979f54e8b54243da4d23cfbe08198d2aa495f870
2012-02-17 00:49:18 -08:00
Tadashi G. Takaoka
beb08b398f Remove unnecessary and harmful KeyboardState.onUpdateShiftState call
This change also cancels double tap and long press timers if other
letter key is pressed after shift key.

Bug: 5693999
Bug: 6017610
Change-Id: I3b5f3debfb8915fa73a93b409a38afadf24132e9
2012-02-16 18:02:17 -08:00
Tadashi G. Takaoka
6213983fa1 Refactor MoreKeysKeyboard.Builder
Change-Id: Ib5f58b1143be60c748b81299ccc3b237d2587846
2012-02-10 18:53:54 +09:00
Tadashi G. Takaoka
2affaf91a0 Rename mini keyboard to more keys keyboard
Change-Id: Ie4c85e8ca5a1f41a420aae5c1cd9c1cb07e237e5
2012-02-08 16:12:31 +09:00
Tadashi G. Takaoka
c217dc9237 Convert one letter Key.outputText to Key.code
This change also uses Key.code instead of Key.outputText for the
variety of parentheses keys taht introduced by I85998f17.

Bug: 5975484
Change-Id: I86879c9942d264edc71e5893325a2f582763d12f
2012-02-07 22:34:20 +09:00
Tadashi G. Takaoka
aca8870128 Recursively resolve @string/resource reference in key key spec parsing
Change-Id: I9d172605e90e828e00f7c4c8d49548498aa3b50d
2012-02-03 20:03:23 +09:00
Tadashi G. Takaoka
9f491e34ac Merge "Filter out empty entry from more keys CSV" 2012-02-03 01:54:49 -08:00
Tadashi G. Takaoka
24cd2617f5 Filter out empty entry from more keys CSV
Change-Id: I9a26aaa58f0f502b3bfef9de422370d2b0add8d8
2012-02-03 18:48:01 +09:00
Tadashi G. Takaoka
0de2fbd7b6 Fix KeySpecParserTests to read correct icon id
Change-Id: Ic002e7fbe84a7001874ebd59e6af8ba695d173de
2012-02-03 18:40:38 +09:00
Tadashi G. Takaoka
e7948a8692 Get rid of Key.setIcon(Drawable)
Change-Id: If6ebbdefcbfd0cc14c72858f9bb44861e8abe079
2012-02-03 14:38:17 +09:00
Tadashi G. Takaoka
5852a2594f Parse escaped sequence strictly in CSV parser
This change alters the CSV parser behavior. The parser only resolves
  * String resource reference. ["@string/res" -> "<content_of_res>"]
  * Other occurrence of escape sequence will be intact. ["\x" -> "\x"]

Before this change, escape sequence in moreKeys string is parsed three
times. At first in parsing string resource, next in CSV parser, and at
last in KeySpecParser. So that representing single escape character
itself is a bit annoying, "\\\\\\\\".

Now we can represent single escape character itself in string resource by "\\\\".

Change-Id: Ib978e17b779cc82585eed8241ac3857508b14bc7
2012-02-02 20:19:26 +09:00
Tadashi G. Takaoka
0086861d5a Move CSV parser to KeySpecParser
Change-Id: I424fb47bc70e9b6aaa5a16ae9b2500d23da75c26
2012-02-02 16:10:14 +09:00
Tadashi G. Takaoka
e01d272603 Make KeySpecParser and CSV parser code point aware
This change also renames MoreKeySpecParser to KeySpecParser

Change-Id: I35733cdbb344f16b57ffa2cfe79055c089b4e409
2012-02-02 15:51:40 +09:00
Tadashi G. Takaoka
ff858c7ff5 Use MoreKeySpecParser to parse puctuations strip resources
This change also
  * Doesn't use Key.getRtlParenthesisCode to get correct parentheses
    code in RTL context. Intead uses the outputText feature of
    moreKeys specification.
  * Move CVS string parser from KeyStyles to Utils.

Bug: 5948247
Change-Id: I45752c7d01b4f7d3f3da900b110a2185b336a1f0
2012-02-01 19:33:26 +09:00
Tadashi G. Takaoka
a5c96f376a Move long press shift handling from PointerTracker to KeyboardState
This change also
  * Rename phone shift keyboard to phone symbols keyboard.
    Use CODE_SWITCH_ALPHA_SYMBOL code to switch between phone and phone symbols keyboard.
  * Remove phone symbols keyboard from tablet.
  * Introduces enableLongPress flag of Key.keyActionFlags attribute.
  * Remove clumsy long press code from PointerTracker.
  * Remove CODE_CAPSLOCK handling from LatinIME.
  * Make KeyboardSwitcher to invoke haptic and audio feedback.

Change-Id: I00e1f697a10ab5112aec75e36853b96246ff5054
2012-02-01 19:04:21 +09:00
Tadashi G. Takaoka
3feb99fa6c Merge "Save/restore alphabet shift locked state while rotating even in symbols mode" 2012-01-31 02:26:41 -08:00
Tadashi G. Takaoka
49bd49c8fb Save/restore alphabet shift locked state while rotating even in symbols mode
Bug: 5730212
Change-Id: Id2342dacd149d6385d61001f880ebcd1883cf0b4
2012-01-31 19:11:39 +09:00
Tadashi G. Takaoka
0ed2d3a449 Fix double tap shift key enable/disable shift locked mode
Bug: 5942452
Change-Id: I2c7b1605bceac2b2f929cd4d97c417ef15c6f754
2012-01-31 18:06:54 +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
38d6a18821 Use String instaed of CharSequence in Key class
Change-Id: Ia76a41daede402ed2a509e110ae97d6bb660c760
2012-01-25 17:04:00 +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
373f452584 Add more sliding input unit test
Bug: 5881820
Change-Id: I9249d8b702ba9afbd1c7d0a4889ac5b2e929f85d
2012-01-24 11:49:00 +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
64e01baade Add KeyboardStateTestsBase and helper methods
Change-Id: I17d908b60bbf784dae7add8355f699a63f7eb90a
2012-01-18 16:46:38 +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
4910c9621c Merge "KeyboardState unit tests for non-distinct multitouch device" 2012-01-16 02:31:37 -08:00
Tadashi G. Takaoka
e47bd3f4fb KeyboardState unit tests for non-distinct multitouch device
Bug: 5708602
Change-Id: Id85db2f8b7b427ba62205f5aaad481a3d33e65fc
2012-01-16 19:14:18 +09:00
Tadashi G. Takaoka
6d5c9c9edc Add more KeyboardState unit test cases
Bug: 5708602
Change-Id: Ib9d2b7a2878f78adecc857fd569fba8965cf4a03
2012-01-16 17:19:54 +09:00
Tadashi G. Takaoka
8ece45bb32 Add auto caps function simulation to MockKeyboardSwitcher
Change-Id: I049c224994a37121de031b9fd61edb52eb912e20
2012-01-16 16:30:50 +09:00
Tadashi G. Takaoka
549571cf5c Make MockKeyboardSwitcher top level class
Change-Id: I52c1bc237c20b8bd49fca2431b83843a6e2af10b
2012-01-16 15:49:24 +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
d3bf4b172d Cleanup KeyboardStateTests a bit
Move test target KeyboardState into MockKeyboardSwitcher.

Change-Id: I0998a5306a59e777360df9d1321b545313b939f9
2012-01-16 10:04:10 +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
dfbe254de6 Add unit test of KeyboardState
Bug: 5708602
Change-Id: I1a8a9f4320948bb500a96df8773b0bfa1a1d4167
2011-12-12 16:34:11 +09:00
Tadashi G. Takaoka
9d5601e901 Rename PopupCharactersParser to MoreKeySpecParser
Also renames PopupPanel to MoreKeysPanel

Change-Id: I37209a5a8fe7dbba1eef03e3be88ba5253653926
2011-08-31 18:34:35 +09:00
Tadashi G. Takaoka
32572948d7 Refactor and rename popup mini keyoard related classes
Change-Id: Ia92ec4612090b03829db9a87ce68d701db6e15bc
2011-08-23 17:51:57 +09:00
Tadashi G. Takaoka
1be29abab2 Cleanup Keyboard related code and rename some classes
This is	a follow up change of I90ffbde0

Bug: 5023981
Change-Id: I3a6b862d05f5f907dee954cd6d6fee983b20ab5e
2011-08-02 17:12:02 -07:00
Tadashi G. Takaoka
e5276b39c1 Remove top padding parameter from MiniKeyboardBuilder constructor
To keep unit test simple, instead of specifying top padding in
the constructor, make separate setter for it.

Change-Id: I8870622cc1bd97420637b8c465bdb6c9dd366062
2011-07-02 02:06:33 +09:00
Tadashi G. Takaoka
17a1676e72 Add top padding to mini keyboard
Because Key only has bottom padding, to make mini keyboard vertically
symmetric and looks nicer, we should add mini keyboard top padding
that equals to Key bottom padding (a.k.a. vertical gap).

Change-Id: Icceb687d50edfa48e0f0830a60a1e230836c982f
2011-07-01 23:02:47 +09:00
Tadashi G. Takaoka
c2a21786e5 Move icon declaration to Keyboard theme
Bug: 4436327
Change-Id: I074014d28dcb323b60dbc8fd9e169c75c393e0b3
2011-06-22 17:44:49 +09:00
Tadashi G. Takaoka
72934bd596 Move keyboard related internal class to separate package
Change-Id: Ic1459066b865cde5104b3734193f76c997959c68
2011-06-22 11:54:00 +09:00
Tadashi G. Takaoka
5d542c2492 Auto mini keyboard layout
Bug: 4280617
Change-Id: I34c344cbf350fe125589aa14ad69e4bd1f4e6f66
2011-04-15 18:19:31 +09:00
Tadashi G. Takaoka
04c96ab966 Automatically layout mini keyboard
Bug: 2214959

Change-Id: I06370e1c9e0683666ad19454a2fb501008af95c0
2011-01-25 20:36:11 +09:00
Tadashi G. Takaoka
c4f71668d7 Remove multi-tap feature
Change-Id: Ife44b3f9d420d77d2cfb51044a8356f02ed63e8b
2010-12-20 21:58:31 +09:00
Tadashi G. Takaoka
9b6d1d52d9 Add popupKeyboardTemplate attribute to Keyboard
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
2010-12-17 17:18:28 +09:00