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
When the application is modifying the text under our feet,
we may come through this code path. We should log the error
rather than crash.
Bug: 5869235
Change-Id: Ic0fd24c3bc805d44c5db0ad781ddebeca0450614
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
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
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
* <Keyboard> XML file should be kbd_*.xml
* <Row> XML file should be rows_*.xml or row_*.xml
* <Key> XML file should be key_*.xml or keys_*.xml
* <key-style> XML file should be key_styles_*.xml
Change-Id: Ie57d5d78389c13d6c066ace4e3588518d1f25f13