Previously the key preview was implemented by PopupWindow. The key
preview popup window would be dismissed and shown each time the key
was released and pressed. It turned out that it was taking several
milliseconds.
This change implements the key preview by a simple TextView which will
be layout-ed at absolute coordinates within the screen FrameLayout.
And dismissing and showing the key preview is implemented by the
TextView's visibility.
This implementation needs careful coordination of candidates.xml
layout and LatinIME.onComputeInsets to control suggestion strip
visibility.
Bug: 4179964
Change-Id: Id6347cb35b91eb14ab20dd2f312e58b54b6625a7
Because handling shift locked state of alphabet keyboard is done by
KeyboardSwitcher, there is no need to change the "on" state of Key
when releasing the key. On the other hand, symbol and symbol shifted
keyboard has fixed "on" state "ALT/MORE" key.
This change also renames the attribute "isModifier" to "isFunctional".
Change-Id: I082885bd2376ae26bdfc378c14add2b5d6be1d4e
When user starts sliding key input, sliding through successive
modifier key will be ignored.
Bug: 4181843
Depends: I082885bd2376ae26bdfc378c14add2b5d6be1d4e
Change-Id: Ibe890b9cc1183dbe9f68a421650fcd97e7ff221c
- Have user-history based bigrams used as soon as they are entered,
not after 6 times.
- Limit bigram frequency to 255 (this limits the multiplier to 1.8, and
has no effect on main dict bigrams which already have this limit)
- Some TODO resolving
bug: 4192129
Change-Id: I4777f1a58c43dd55381c4b01252d722ab3a70547
- VoiceConnector to VoiceProxy
- VoiceInputConnector to VoiceInputWrapper
- VoiceLoggerConnector to VoiceLoggerWrapper
Change-Id: I908ddc590c8846cf5cbd80b9c0257cb65c638bde
Background:
Both SubtypeSwitcher and VoiceConnector have an instance of VoiceInput.
And VoiceConnector has a responsivity for setting VoiceInput to SubtypeSwitcher.
But in case that VoiceInputConnector already has an instance of VoiceInput
VoiceInputConnector doesn't set VoiceInput to SubtypeSwitcher.
Change-Id: I42d0220e7d84a08e03f143213cc6eff87e7e79a6
This change adds basic support for an external dictionary provider.
It adds methods for reading the dictionary itself from an asset in
the dictionary provider package directly, obtaining the file name
through the ContentProvider interface; it also adds a way of getting
the data through an InputStream and copying the file locally.
Incidentally this change also adds the code needed to listen for
updating the dictionary provider package and reloading it in time.
This change also goes hand-in-hand with Iab31db6e, which implements
the small closed part of this.
Issue: 3414944
Change-Id: I5e4fff99a59bb99dbdb002102db6c90e6cb41c8a