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
To maintain backward compatibility back to Froyo, we can't call
3-argument constructor of LinearLayout.
Change-Id: I35310704f92812d2748d32f35820a5058fa2bf31
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
The dictionary that extends ExpandableDictionary must be closed when
it becomes unused.
Bug: 4725930
Change-Id: Ib5d2c39771fb7010d303a26d1ea1c8e237c0101f
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
Basically Croatian keyboard is QWERTZ layout with extra letters such
as č, ć, đ, ž and š. This change just introduces Croatian keyboard
subtype and QWERTZ layout which has the extra letters as popup mini
keyboard of base letter.
It might be great if we could have dedidated table layout.
Bug: 4309160
Change-Id: I0fc227295defa56029ca06e406f73833b992be0e
There are already both languages keyboard layout. Finnish is based on
Scandinavian layout and Hungarian is based on QWERTZ.
Change-Id: I6c804495bf1ae56661bc5c714e0c500132cd55a8
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 is a back port from Master.
Cherry-pick: I413062c759a1d91c66fcbf5dd04050dfbf15094f
Bug: 3319295
Change-Id: I461942fde05d91519775d260410356dfcbe7f7c0
This change is a back port from Master.
Cherry-pick: Ie0cad06c7b1afac0f33af76128303517e9e7bddc
Bug: 3319295
Change-Id: I4bc294161cb8bc4edfdcb1afc0c66b3812667bf3
Unfortunately current Master seems have bugs in resource
selection. The xml-en/kbd_qwerty.xml is added to avoide those issue as
work around, and must be removed if the issue is fixed.
Bug: 4442045
Change-Id: Ic43d66e8669fb63e2c3f0b8b9aae9178ca3c32b5
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 prepares the way for spell checking, which is to be done
without context so without proximity info.
Bug: 4176026
Change-Id: I1b4bfaefe2611e1b484acdf3c33598cb80f81ff4
This change adjusts popup mini keyboard X-coordinate not to be clipped
out of the display.
Bug: 4442045
Change-Id: Ibdf4e2d0a79cddbeb89ed8ded81a2db9af9797b8
This change syncs all drawables from Honeycomb-MR2 into Master.
Bug: 4442045
Change-Id: Ia539aa62bfc355ccc742cf5aa600463c7b604187
Cherry-pick: I98664b0c954be82eeda00c69e712da2e20ca606a
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 fixes a bug that prevented to choose a prediction
several times in a row because the predictions would be replaced
right away by punctuations.
Please note several things about this change:
- Recorrection is pretty much in the middle of being refactored.
This change has no effect on recorrection itself, but may make
existing strange behavior more obvious when moving the cursor
for example.
- The part of this change in Recorrection.java is not used in
master at the moment because ongoing changes on recorrection
result in the control never landing there, but would have been
needed in the past and may be needed in the future.
- This change may have adverse effects on performance which need
to be evaluated. A comment in the code has also been written
to this effect.
- This does not fix bug 4466199, only addresses a pinpoint case
of it to help evaluating the bigram predictions feature.
Bug: 4466199
Change-Id: I7219e5aeb74dff9251d12b2a72f94448dbb3e63f
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.
Bug: 4442045
Change-Id: I314b2e8ca2aa145ff9506cbf927140a15685af42
This change only changes QWERTY layout. The phone/number and
AZERTY/QWERTZ/Russian/Scandinavia layouts will be fixed soon.
Bug: 4442045
Change-Id: Ib42c84e1d05fee513b1b7680ef0dcf755298d444
This change introduces new keyboard mode "webEmail" to honor
InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS. In this mode, both
'@' key and TAB key appear on the keyboard.
The keyboard layouts will be modified with other change.
Bug: 4490948
Change-Id: I66f9bda4907da448db097e9c900199dfa700b16a
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
When keyboard theme has been switched, input view will be replaced
with new theme one and current CandidateView will get stale. The
CandidateView must be reseted in setInputView.
Change-Id: I36fd14280572d2d367cfef549d7705b3b321ba3e
Because the holo theme drawables have "holo" effect around 9-patch as
fixed size image, so we need dedicated drawables for each sw600dp-mdpi
and sw768dp-mdpi resolutions for visual designers.
* drawable-mdpi (fallback resources)
* drawable-sw600dp-mdpi (7" tablet, phone style keyboard, placeholder for now)
* drawable-sw768dp-mdpi (10" tablet, tablet style keybaord)
Note that:
* Eventually sw600dp drawables will be updated by designers.
* We need sw768dp drawable copies because, without these, 10" tablet
will use updated sw600dp drawables wrongly.
* We have to keep drawable-mdpi as final fallback resources.
Bug: 4436327
Change-Id: I93db87ee99c2abb8d18e869e5411e3cb5bec1020
This change renames resources along with new naming scheme.
* large to sw600dp (7" tablet uses phone keyboard layout)
* xlarge to sw768dp (10" tablet)
Bug: 4436327
Change-Id: I96678fa699d2abcb48022d8878557f1486e839aa
This change also syncs the drawables with Master.
Cherry-pick: I2573786aac5fd8d543cf12d24c951b67c7353fd7
Bug: 4436327
Change-Id: I88dc0162033a1017040205590c0c34a5111b835a
One of the two methods for getting a dictionary from the dictionary
pack had a bug and would not tolerate not getting an actual dictionary.
This change fixes that.
Change-Id: Id58bb27258494fb3aa60ec07a4eb27cfb5cc7279
Also add an option for popup dismissal delay so as to inaugurate the
new screen. Besides, remove a path for options to escape from
LatinIME and replace with a direct read from the settings.
Change-Id: I7ec6e724262871fa6523506ecc39f65c5fbe34da
Fix a bug where the "Touch again to save" message would not stay
on screen, following a wrong fix for a problem where Gingerbread-
would not display punctuation in the suggestion strip in
WebTextView.
Change-Id: I3556f83f867240ed7f16753450e6c975853208e5
Because current DroidSans font lacks double high-reversed-9 quotation
mark '\u201f' glyph (Bug: 4368421), this change remove it from symbol
keyboard popup mini keyboard. This change also removes corresponding
double low-9 quotation marks as well.
Bug: 4347045
Change-Id: I30d1493376efe5af98722e76999107de5dfcae3e
Split symbols into:
- Symbols that should swap themselves with a magic space.
- Symbols that should remove the magic space.
- Symbols that should transform the magic space into a real space.
Also, have symbols inserted from the suggestion strip always consider
the space before them to be magic.
Also, do minor refactoring to remove useless variables or make clearer
how to carry some symbol-related information.
Bug: 4391347
Change-Id: Ie2308a62c8fef55e3610897c0f58943acb7aa8c9
This change considers that the point is on the key while sorting in
proximity key detection.
This change is the cherry-pick of I3ee91367.
Bug: 4353949
Change-Id: I04fa0acf4d32c18bea9640b39a5c770466a37803
Picking a suggestion inserts a space after the word. This change makes
this space a magic space.
Incidentally, do some minor cleanup: add CODE_DASH, CODE_SINGLE_QUOTE
and CODE_DOUBLE_QUOTE to Keyboard and use them throughout the code,
and remove a useless import directive in some unrelated file.
Bug: 4319740
Change-Id: I245f396c34dd0af820bca91edc4ec363238a4ae4
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
This change fixes a bug where there would be pixels on the keyboard
that would not return a key although it's between two keys - or even
right on top of one.
This change makes it so that the closest key to the touch - within a
certain threshold - is always returned, regardless of whether the
touch is inside or not.
Bug: 4348994
Change-Id: I8f6102d6787eb025cc3c50a26d3a475aeafc4b64
This change enables the interface to get multiple dictionaries from a
dictionary pack. It only implements it to the end in the case of the
proprietary method, as the open method needs still some working out,
and the "inside the package" method does not need it.
This change goes together with Iaa95bf36, and breaks the build
without it.
Bug: 1752028
Change-Id: I3ccfd696e8ef083ef9c074e1c3e4bb0bf2fcfd23
The change list that introduced this code was created at the same
time as the one that introduced the Utils.setSystemLocale method
and didn't use it yet. Fix this.
Change-Id: Ifdd2ad9f7dbb7f300bc255bc2e035ae893a9d410
The dictionary collection is a class complying to the Dictionary
interface that acts as a front end to a collection of arbitrarily many
dictionaries of any type.
The dictionary factory is a helper class for creating various
dictionaries and get some meta information about them.
At the same time, this change makes the BinaryDictionary class
not a singleton any more.
This also needs I9afe61a9 to not break the build.
Change-Id: I61fdcc4867fcda18342807bf1865e6e46979e5d5
Add a setLocale method to Utils that returns the previous locale.
Also unify all calls through the code.
Change-Id: Ic850dc5df19fba00ed3601835652859b4321b544
This change
* Allows snap back from symbols shifted to symbol layout.
* Add "left single", "right single", "single low" and "single high
reversed" quotation marks to popup characters of "single quote".
* Add "double low" and "double high reversed" quatation marks to popup
characters of "double quote".
* Add "prime" and "double prime" to popup characters of "degree".
* Disable non-ASCII key of symbol more layout on passowrd input.
Bug: 4345054
Bug: 4347045
Change-Id: I8168ce6a74a9536e4966f7f9d1099ac0132925c7
This change is only there to fix warning issued by Eclipse.
It should have absolutely no impact on the program logic.
Change-Id: Ie0e242ac6c167297d33de19902340b0f6ecae9e1