The space key preview should be displayed one of the following case.
- Popup preview is enabled
- Language switcher is in action, whether popup preview is enabled or
not.
For phone number keyboard, popup preview is never displayed even if
popup preview is enabled.
Bug: 3006612
Bug: 3021091
Change-Id: I5385c776d0e8e3981fc8d8851db9140d92599ce5
This change adds lightweight visual hints of alternate numeric characters on the top row - e.g. having a light gray '1' on the upper right corner of letter 'q'
Note that MDPI resources are tentative (the same as HDPI for now, until we get fixed MDPI visual assets).
bug: 3004632
Change-Id: I7a25cf90b702433a844c88f5c47bf914706af9bc
The residual time was formerly 150ms by
Ia63662a549481d18046a46ef8292c0a4438b5588, and originally was 70ms.
Bug: 3004787
Change-Id: If60a74c51e9a68f008711cca2423094e8204755f
This change also introduces MiniKeyboardKeyDetector and
mini_keyboad_slide_allowance parameter to tune the key detection
behavior.
Bug: 2993769
Change-Id: I1932b0a382e172cb77b9e098ae182049c834dfe0
Also, tentatively added key detection allowance for below of the keys in mini popup keyboard.
bug: 2979407
Change-Id: I84794969facd929c84df23e0120d46dff71c6efb
Also fixed an issue when the mini popup keyboard hits the right edge of the view.
A few code cleanups as well.
bug: 2980864
Change-Id: I95f8392521e57560907d54b662e3483ebaf6f7ce
Actually it was caused by canceling repeat key (space and delete) when
multiple pointer are touching.
Bug: 2975041
Change-Id: If82183b9225efdace7b5418860b9664f1705b7ec
This change also disable the special behavior of long press a key that
has only one digit alternate. If the visual design of both the pop-up
preview and the mini keyboard will look like same, I think that
showing mini keyboard is enough for the key that has one digit
alternate.
Bug: 2973546
Change-Id: I04f138c120aa58526fe054626dac856171fb7a58
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
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
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
This change eliminates the need of extra MotionEvent allocation. Also
this will lead to the easy way to handle multi touch events.
Bug: 2910379
Change-Id: Ibcfcba554b732c13105f91877b41b553ee6928ba
This change moves SwipeTracker out from LatinKeyboardBaseView. Also
this introduces EventBuffer class for swipe tracking buffer.
Bug: 2910379
Change-Id: I48ff714226a248ca063cbaf9755cf45e458f7402
GestureDetector listener's onFling method will not call detectAndSendKey
anymore.
Make gesture detector be ignoring multitouch. Refactoring
GestureDetector out of LatinKeyboardBaseView class change will follow.
Bug: 2910379
Change-Id: I0b2a9c4cf7d432f89f9085f3c2bdf3a3757a8903
This change encapsulates mInKeyRepeat (former mRepeatKeyIndex) into
UIHandler class. Also this eliminates mCurrentKey and mLastTapTime
dependency from repeatKey method.
Bug: 2910379
Change-Id: I9351a558be2ebc04de4ebb0d323af4be33bd470c
This change simplifies onModifierTouchEvent to focus on handling
motion event related to a key event.
Other refactoring will follow in order to support multi touch.
Bug: 2910379
Change-Id: I036be64168d951a535600a7910b36bc109f88490