This change also refactors some mini-keyboard related methods in
LatinKeyboardBaseView and PointerTracker class.
Bug: 2973236
Change-Id: I3190fe89ea3ac3c6d351ed4b6d77de98a0aa65db
TODO:
- Remove close button on mini-keyboard
- Dismiss mini-keyboard when finger leave the screen while no key is selected
This change also renames some instance variables to have more meaningful name.
Bug: 2959169
Change-Id: I9fd79116a647d7be82415c6e9e7cdaf6edcb2bf6
fetching the selected text.
Bug: 2950652
Some refinements to correction behavior, such as retaining the tap-to-save
when in correction mode.
Use reflection to access the new InputConnection APIs with fallbacks, in case
we run on older OS versions.
Some refactoring to separate lookup for voice alternatives and typed alternatives.
Change-Id: I7c4178bf7e6b47ee274c49fa7a694f8c2d50cea7
The KeyDetector abstracts key detection algorithm. The
ProximityKeyDetector is one of its concrete implementations. Another
one that might be called XAxisKeyDetector will follow to realize the
pop-up mini-keyboard behavior described in bug#2959169.
Bug: 2959169
Change-Id: Idd3fc53282e6b721ec7a4ce500af8aba21ce07a3
- Add a layout for popup for new theme
- Change the color of language bar
- Fix a drawable for settings feedback
Change-Id: I7c0c9e238c8223554a62f7b0c8092d074cf9743f
This change moves the following methods into KeyDebounce class.
- MotionEvent handling methods (onDownEvent etc.).
- Keyboard action event generator method (detectAndSendKey).
- Multi-tap key support methods (resetMultiTap etc.).
- Key preview text generator method (getPreviewText).
The change that makes KeyDebounce a top-level class will follow.
Bug: 2910379
Change-Id: I1526c0461e247d97f0c4b3bd580330f137c787be
Extract key press and release handling out of previewKey() to
KeyDebouncer class. And pass Key object as argument of previewKey()
instead of key index.
Bug: 2910379
Change-Id: Ifec39cfc4845bd92da2f62eba2b26ac6a5cbb341
These three conditions assign true to the mAbortKey flag.
1. setKeyboard() sets the new keyboard layout.
2. long press shows the pop-up mini keyboard.
3. ACTION_CANCEL event is occurred.
In the case 1, in LatinIME so far, only "symbol key" and "language
switch" cause keyboard layout change. In both cases, the event is
occurred in onUpEvent(), so we do not need to worry about aborting
event.
In the case 2, long press is used only to pop-up mini-keyboard and at that
time mMiniKeyboardOnScreen could be used as a flag.
In the case 3, though I'm not sure when this case occurs, in
onCancelEvent() all the things that should be canceled are canceled
in onCancelEvent().
Bug: 2910379
Change-Id: I12377c5f3e808f1c017ce980e12b1513895047bc
This change will display the key board preview instantaneously when
the key is pressed. Dismissing the key preview will be delayed
slightly after the key is released, as we do now.
Because in multi touch mode, we should instantaneously change keyboard
layout when modifier key, such as shit and symbol, is pressed.
Change-Id: I49348d563ca0f40f5a0a236bdcd0bb07eedd599b