This object will hold all keyboard parameter while parsing XML file
and act like a Keyboard. After finishing reading XML file, this will be
passed as an argument for the Keyboard class constructor.
Bug: 5023981
Change-Id: I2737b30036b6e4d204e8ed9984a1272e195209be
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 allows the user to enter a period via double-space after quotes,
currency symbols, brackets and other non-sentence-finishing
punctuation marks.
Bug: 3430389
Change-Id: Ibe40b3902861207eb918e7be6113e8be12216f53
Long press time out for space key is set to 1000msec.
FYI: Time out for shift key is 1200ms and for mini popup keyboard is 400ms.
Bug: 4971680
Change-Id: Id05f519baa15ca2e54958997ddf7b6b3b7a2d078
This change makes PopupMiniKeyboardView based on KeyboardView, so that
only LatinKeyboardBaseView can manage touch event and PointerTracker.
Bug: 4768084
Change-Id: Id30b132f1fae45da6e79ce822745cf0a653b8eb3
This change can retain symbols layout only, can't retain shift or
shift lock state of the keyboard.
Bug: 4311428
Change-Id: I6248ed9a6d762e1ca4b72e391fdca9bc9f55ac35
This change also rename static inner class to more readable name and
get rid of unnecessary object reference from PointerTracker.
Bug: 4768084
Change-Id: Ie4e2b940d66b47d41efcae7eeac853cdae2e4d38
To sort out the issue, main keyboard and mini keyboard have to share
the pointer trackers.
In order to prepare for that, KeyboardView needs to be refactored as
two separate classes. KeyboardView is responsible for drawing keyboard
visual. And LatinKeyboardBaseView is responsible for handling key
event and mini keyboard as well.
Bug: 4768084
Change-Id: I5643e333b9bdfde0c939a0693cea76bd22f38897
To keep unit test simple, instead of specifying top padding in
the constructor, make separate setter for it.
Change-Id: I8870622cc1bd97420637b8c465bdb6c9dd366062
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
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 instroduces new IceCreamSandwich assets and renames
Honeycomb theme to IceCreamSandwich. Though checked only on
hdpi-phone and mdpi-10"-tablet.
File another bug (Bug: 4852048) to fine tune keyboard layout for all
possible combination of devices and themes.
Bug: 4436327
Change-Id: I4f8dc1dd6b798a39204702bbcbebf17a199dc82f
Up to version 10 (Gingerbread) of the API, FrameLayout doesn't handle
margin properly. This change inserts RelativeLayout to FrameLayout as
placer to set margin and place children views absolutely.
Change-Id: Iee785bc2da77677738caf456bcd2bbf57b89f007
I left TODOs in Suggest.java because we must pay attention to locale
when changing character's case. Filed another Bug: 4769095 to track
that.
Bug: 4768050
Change-Id: I1ae2c4ffd2208403a8c2a25dd3a56b71dcefc826
When using the sliding spacebar language switch on ICS, both
LatinIME.toggleLanguage() and
InputMethodService.onCurrentInputMethodSubtypeChanged() invoke
LatinIME.onRefreshKeyboard(). This change eliminates the first one if
it isn't necessary.
This change also cleans up the followings.
* reuse theme Context when the keyboard theme hasn't been changed.
* clear the Keyboard cache when theme has been switched.
* eliminates unnecessary Context reference from LatinKeyboard and
SlidingLocaleDrawable.
* recycle Bitmap and reuse Canvas in KeyboardView.
Bug: 4725930
Change-Id: I87366e9304879d94d12b7345adea768d86d43519
Previously tab key is shown only when the input type variant says that
it is web input. In addition to that, this change also shows tab key
when the IME option includes editor action (next and/or previous)
flag.
Bug: 3094312
Change-Id: I3f8841fdbcee918a0f93f3259090f24e70d96471
This change also removes manualTemporaryUpperCaseCode and
manualTemporaryUpperCaseHintIcon. Instead of these keyLabelOption now
has hasUppercaseLetter flag value.
Bug: 4436327
Change-Id: I88fdac1e888a7123735296f5ef45f5fdd565cd2e
This change is needed to introduce new theme easily. As a starter this
change introduces Keyboard.popupHintIcon attribute and
Key.keyLabelOption.popupHint flag to show popup hint icon that is
previously specified by Key.keyHintIcon attribute.
Bug: 4436327
Change-Id: I6b1c5c1b88eece541141b2d2cedd164ee02e5c2a
This change just prevents crashing. The another bug#4646271 has been
opened to support chording and long pressing key.
Bug: 4463909
Change-Id: I50e42656fe111e6b261310c899e672b8ba001e5d
This change removes horizontal scroll from candidates strip. Instead
of that this change introduces "fixed 3 items candidates strip" and
"expandable candidates pane".
Bug: 4175031
Change-Id: Ia367d9074436fdea76d3b653d81798ce2749170e
This change adjusts popup mini keyboard X-coordinate not to be clipped
out of the display.
Bug: 4442045
Cherry-Pick: Ibdf4e2d0a79cddbeb89ed8ded81a2db9af9797b8
Change-Id: I1c3ce7b1c6a6d247b796a1cdcd821bf88321ddef
This change removes Russian keyboard layout exceptions and make it
compatible with other Latin's.
Also tweaks some locales' keyboard layout to match with standard PC's
keyboard layout at most.
Change-Id: I305201fb850b4f94ae7e746ab4c039473d09da70
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 reduces the number of layout files and make these
theme-generic. This might be very helpful to re-design suggestion
strip.
Bug: 4175031
Change-Id: Idca10a4aa0bf7ac496eedd1879311e59780a423b