Commit graph

74 commits

Author SHA1 Message Date
Tadashi G. Takaoka
40a05f62ed Queuing PointerTracker to support n-key roll-over and shift modifier.
Bug: 2910379
Change-Id: I5cfae33e72a406585137842a2260310813cee07f
2010-09-02 16:03:46 +09:00
Tadashi G. Takaoka
c6cb2ec1f3 Add new public attribute mPointerId to PointerTracker
It is easier to track each pointer if a PointerTracker object keeps
its pointer id.

Bug: 2910379
Change-Id: If3e3b0cf3d834d22302598f4d85d54c9a4ce92ba
2010-09-02 02:21:17 +09:00
Tadashi G. Takaoka
2085d43daf Make abstract KeyDetector class
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
2010-09-02 01:53:26 +09:00
Tadashi G. Takaoka
681b102a49 Track all pointers events
Bug: 2910379
Change-Id: I179ae4359afb57c351d5fcc5f5453c30d3ef0c01
2010-09-01 22:37:37 +09:00
Tadashi G. Takaoka
a521b31d96 Introduce multiple PointerTracker
Bug: 2910379
Change-Id: Iefafa2d30ad16f898a00664e4bf3e3e88dcd2cb2
2010-09-01 15:59:54 +09:00
Tadashi G. Takaoka
6a1514a0de Make KeyDebounce class a top-level class and rename it to PointerTracker
Bug: 2910379
Change-Id: I9503b2211b272a4a2903d0732985e5ab8ee39440
2010-09-01 12:26:32 +09:00
Ken Wakasa
b24cc640c1 Fix ArrayIndexOutOfBoundsException.
bug: 2964045
Change-Id: I97d95181e1a6838ace9c135aa92e7f20034e821f
2010-09-01 09:11:38 +09:00
Tadashi G. Takaoka
b57b478569 Refactor KeyDebounce class
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
2010-09-01 00:18:49 +09:00
Tadashi G. Takaoka
2ca84dacff Refactor key preview methods
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
2010-08-31 18:39:20 +09:00
Tadashi G. Takaoka
ba9b24edff Remove mAbortKey flag completely
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
2010-08-31 00:43:40 +09:00
Tadashi G. Takaoka
06123e5691 Don't re-allocate KeyDebouncer when keyboard is switched.
This change also re-orders instance variables and eliminates
unnecessary ones.

Bug: 2910379
Change-Id: I6b2217f75738fada32a33f59f0f7adba5e99dd6e
2010-08-28 01:23:01 +09:00
Tadashi G. Takaoka
00dda50efd Revert "Show key preview instantaneously"
This reverts commit 09f530e248.

Change-Id: I3106cd22cc1eac750f05bce26df6af3026dfaf86
2010-08-27 21:04:31 +09:00
Tadashi G. Takaoka
09f530e248 Show key preview instantaneously
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
2010-08-27 19:38:52 +09:00
Tadashi G. Takaoka
5b6fbf9a4f Refactor onModifiedTouchEvent into several methods.
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
2010-08-27 09:59:59 +09:00
Tadashi G. Takaoka
e83d7385ab Refactor getKeyIndexAndNearbyCodes into independent class
Bug: 2910379
Change-Id: Ib26a898ea108ee4292f9f91b6d7d10c1fc380fd1
2010-08-26 23:33:08 +09:00
Tadashi G. Takaoka
dfbc5080a1 Refactor SwipeTracker class
This change moves SwipeTracker out from LatinKeyboardBaseView.  Also
this introduces EventBuffer class for swipe tracking buffer.

Bug: 2910379

Change-Id: I48ff714226a248ca063cbaf9755cf45e458f7402
2010-08-26 23:28:52 +09:00
satok
542f057ef6 Add a log for getting coordinates of keys
Change-Id: I57cc6fb6a9eeb65ce8c0c3c3262fd525726643e2
2010-08-26 18:08:12 +09:00
Tadashi G. Takaoka
0c54809891 Refactor gesture detector logic
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
2010-08-26 15:54:50 +09:00
Tadashi G. Takaoka
0d098c514e Fix bugs in key repeat logic
Bug: 2950714
Change-Id: I3110369c085f89ee1e8f7392a9a04a6b9e377ed4
2010-08-26 12:03:17 +09:00
Tadashi G. Takaoka
05d1904ed7 Refactor SwipeTracker to top level class
Bug: 2910379
Change-Id: If0ef09d8b0e7ca1c62b4c5a31bcaa620664868f2
2010-08-25 17:21:43 +09:00
Tadashi G. Takaoka
f4271e51e7 Refactor key repeating related code
This change encapsulates mInKeyRepeat (former mRepeatKeyIndex) into
UIHandler class.  Also this eliminates mCurrentKey and mLastTapTime
dependency from repeatKey method.

Bug: 2910379
Change-Id: I9351a558be2ebc04de4ebb0d323af4be33bd470c
2010-08-25 12:33:46 +09:00
Tadashi G. Takaoka
8ee1321264 Refactor long press related code
This change eliminates mCurrentKey dependency from openPopupIfRequired
method.  Also slightly cleanup onModifiedTouchEvent.

Bug: 2910379
Change-Id: I90c9b39c46c0bb32ecc6588abfc49eb60315f54c
2010-08-25 12:08:20 +09:00
Tadashi G. Takaoka
8b0cb128be Refactor onModifiedTouchEvent of LatinKeyboardBaseView
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
2010-08-25 10:17:14 +09:00
satok
979f869096 DO NOT MERGE. Backport LatinIME from master to Gingerbread
TODO: Cleanup will follow.

Change-Id: I4a68ba9f2f55760aa24187f1f13fdfa8a0b70963
2010-08-20 14:37:03 +09:00