Commit Graph

291 Commits (9ebba46c775f37abeb0451602cb323fd45adf33b)

Author SHA1 Message Date
Tadashi G. Takaoka ad181915f7 Fix excessive canceling of long-press timer while gesturing
Change-Id: I2a68c777e66a6b83d16885780a92a21e91bd3f9e
2012-10-11 17:51:45 +09:00
Tadashi G. Takaoka c1f2c3a646 am c66a2d1d: am 61155c70: am 9d423536: Merge "Don\'t cancel long press timer too early" into jb-mr1-dev
* commit 'c66a2d1da69de796a2a7acb5dd6903cb5668585c':
  Don't cancel long press timer too early
2012-10-11 00:52:05 -07:00
Tadashi G. Takaoka c9ba26994b Don't cancel long press timer too early
Bug: 7328861
Change-Id: I1b77ec4a30ae15b2edda42a1ff58ebc528288553
2012-10-11 15:58:56 +09:00
Tadashi G. Takaoka 4020289147 am 6b0fa314: am f5c10d00: am 7a17c1fc: Tuning gesture detection parameters
* commit '6b0fa314d780ea77bd2c65b9bdd87297d50a0f6b':
  Tuning gesture detection parameters
2012-10-09 07:48:45 -07:00
Tadashi G. Takaoka 7a17c1fcb5 Tuning gesture detection parameters
Bug: 7032858
Change-Id: Ie4f952aa33b99ce16027500a596d723ee9bafae9
2012-10-09 19:06:10 +09:00
Tadashi G. Takaoka 4df6549c1a Allow to start gesture from a non-letter key except from a modifier key
Bug: 7303982
Change-Id: Id54965c1d7b2b760ac2a76a0fc509b46948e75e6
2012-10-09 18:03:40 +09:00
Tadashi G. Takaoka f731eb1760 Add separate key hysteresis distance for sliding modifier input
Bug: 7294402
Change-Id: I78c8be9e1a7b2d49d86bfe1e3a46d1785bfe5d48
2012-10-07 01:19:01 +09:00
Tadashi G. Takaoka 3623b9767b Fix detecting fast typing algorithm and parameter
Bug: 7032858
Change-Id: I5ed701e2394d16e43258a3c22d59991cb18adce8
2012-10-05 18:23:39 +09:00
Tadashi G. Takaoka 80bcb99632 Move gesture detection and recognition paramters to resources
Bug: 7032858
Change-Id: I66570a5e21cdeede1eba420c597f440ab61aa941
2012-10-05 14:39:44 +09:00
Tadashi G. Takaoka 6052a81e08 Merge "Fix gesture detection algorithm" into jb-mr1-dev 2012-09-28 06:49:24 -07:00
Tadashi G. Takaoka 58fe5a421f Fix gesture detection algorithm
This change also
  * Introduces adaptive gesture detecting threshold for time domain in addition to length domain.
  * Tunes the parameters for detecting gesture after fast typing.
  * Fixes a bug in dismissing gesture floating preview text.
  * Cleanup debug messages

Bug: 7218902
Change-Id: Iafccd872c6efe0c3b5ae65fa40b04c80d9f139c7
2012-09-28 22:47:55 +09:00
Tadashi G. Takaoka c8f252940f Merge "Temporarily suppress key popup preview after gesture input" into jb-mr1-dev 2012-09-28 03:38:20 -07:00
Tadashi G. Takaoka 29d2d48182 Temporarily suppress key popup preview after gesture input
Bug: 7244317
Change-Id: I39cdb0fbda51f3e4339301d9cc53403b1ad15409
2012-09-28 19:10:56 +09:00
Tadashi G. Takaoka bf538ab2c0 Remove dead code for disabling gesture input after fast typing
Bug: 7218902
Change-Id: Iccc1d4cf0dd3ac84b30c68e11eee9a6ad89f14c4
2012-09-28 16:15:51 +09:00
Tadashi G. Takaoka a28a05e971 Cleanup: Make some classes as final
Change-Id: I6009b3c1950ba32b7f1e205a3db2307fe0cd688e
2012-09-27 19:03:30 +09:00
Tadashi G. Takaoka 157fe98fd4 Draw gesture trail that is above the keyboard
Bug: 7233992
Change-Id: Ia848543a9d008c68d6ecbc7f715aa6ccdba9d1c6
2012-09-26 20:43:13 +09:00
Tadashi G. Takaoka 1645902cce Postpone gesture start detection on non-letter key
Bug: 7108223
Change-Id: Ie1ead5cec947ddf86c5150dca5b20b224527e511
2012-09-26 12:46:55 +09:00
Tadashi G. Takaoka 630d9c95e5 Introduce typing aware gesture detection
Bug: 7218902
Change-Id: I11ad85914bf991eca513e04ed8b5d12779101dda
2012-09-25 20:11:05 +09:00
Tadashi G. Takaoka b305e6775a Second finger can start gesture input
Bug: 7108075
Change-Id: I17c419086a86c0bdac7a3858f8c66f6893678e67
2012-09-24 15:31:51 +09:00
Tadashi G. Takaoka 9f09c6fbc8 Disable gesture input while fast typing
Bug: 7032858
Change-Id: I0f9f92c712dbe45f4ba0b3cf331fbe11426c1db4
2012-09-24 13:14:47 +09:00
Tadashi G. Takaoka 02a67200fc Fix gesture start detection algorithm
Bug: 7032858
Change-Id: I9f4d939fa87fdead4c5a5921338a16cd0a59b7ac
2012-09-21 17:30:00 +09:00
Tadashi G. Takaoka f80f09c7ee Move PointerTracker.MIN_GESTURE_RECOGNITION_TIME to GestureStroke
Change-Id: Ib50192ed8f611fd8288ff9b7a1e0a19249cc6348
2012-09-20 15:14:25 +09:00
Tadashi G. Takaoka c7dc673cf0 Use Path to draw gesture preview trail
This change also reduces the number of points to use as preview trail.

Bug: 7167303
Change-Id: I0cf4908efa44b17b42d4fddd6725238236ac2654
2012-09-19 19:29:06 +09:00
Tadashi G. Takaoka 9c5d165e9c Don't show gesture preview trail while detecting gesture input
Bug: 7166222
Change-Id: Iecc8403a4eca305323ed8c8e17266d23172d84d9
2012-09-14 11:21:12 +09:00
Tadashi G. Takaoka 350fab6dc4 Fix gesture floating preview on up event
This is a follow up of Iddb26ba1.

Bug: 7119032
Change-Id: Ibbc94a1a4880ca31bd8aeece89893691b14acc4d
2012-09-13 19:07:09 +09:00
Tadashi G. Takaoka f0e83046f0 Show gesture floating preview text at oldest finger
Bug: 7119032
Change-Id: Iddb26ba1a595e472fde0982d744b5652d5fbda3e
2012-09-13 18:17:15 +09:00
Tadashi G. Takaoka f117f77766 Fix bimanual gesture preview trail
Bug: 7122288
Change-Id: I9f0aabe08628880a8439bfda98844ae60206b8de
2012-09-07 17:20:07 +09:00
Tadashi G. Takaoka 29d5973fd3 Optimize rare Key attributes to separate class
This change also removes per-Key verticalGap and horizontalGap.

Change-Id: Id4d2129022fbbfbf5d740b8d1257032c945bb775
2012-08-30 11:48:19 +09:00
Tadashi G. Takaoka 6c3304ea96 Support bimanual gesture input
Change-Id: Id86dc93fb7115ab4a6d05b3c05652df35ad08c12
2012-08-28 18:26:07 +09:00
Tadashi G. Takaoka 333a300586 Add multiple gesture preview trails animation
Change-Id: I533e6de9b138317472565be82c8ba5e422472888
2012-08-24 17:04:20 +09:00
Tadashi G. Takaoka 922a85734d Merge "Remeve the reference of MainKeyboardView from PointerTracker" into jb-mr1-dev 2012-08-23 00:26:30 -07:00
Tadashi G. Takaoka 5509798977 Remeve the reference of MainKeyboardView from PointerTracker
This change also consolidates MainKeyboardView.KeyTimerParams with
KeyTimerHandler.

Change-Id: Ifc70ca81fa7d7daded4c2204fcdffdf942c16bc5
2012-08-23 16:22:13 +09:00
Tadashi G. Takaoka b28139f51b Use PointerTrackerQueue.size instead of MotionEvent.getPointerCount
Change-Id: I089e905def0b70bd38fd54ab2d84689b904bb320
2012-08-23 15:54:00 +09:00
Tadashi G. Takaoka 694ccb5ba1 Cosmetic change to PointerTracker
* Add final to parameters and locals
* Add curly bracket around single statement if-block

Change-Id: I9f3b23f7145e6b1d6ef806d991ed71ebc63311ff
2012-08-23 15:14:46 +09:00
Tadashi G. Takaoka dde36ef343 Remove TextView reference from PointerTracker
Change-Id: If8e65c08ec97f6d57932c9e3412d6fe17b0994ea
2012-08-22 16:13:29 +09:00
Tadashi G. Takaoka 5f282ea9e4 Add CollectionUtils class to create generic collection easily
Change-Id: I6b4de9187e122298e5e9cd8ddc9070d062df6a89
2012-08-22 10:21:38 +09:00
Tadashi G. Takaoka f92f9de7a9 Merge "Eliminate redundant time parameter from gesture detection code" into jb-mr1-dev 2012-08-13 02:25:28 -07:00
Tadashi G. Takaoka 74d0bb09c7 Eliminate redundant time parameter from gesture detection code
This change also uses the key width to determine the sampling rate of
the gesture points (instead of the key height).

Change-Id: I987487825693b4883d8359eb5b31f1d668cd5ef4
2012-08-13 18:11:03 +09:00
Tadashi G. Takaoka fc5e3f973c Remove unnecessary drawing point
Change-Id: Ib9cba3484a72306320eb9c1744d940da1a0998c7
2012-08-13 14:03:10 +09:00
Tadashi G. Takaoka 708cc94a35 Remove gesture detection hacking code
Change-Id: Idaec3753592ca0a5c5545eb5ab65254a3e32e662
2012-08-13 12:19:19 +09:00
Tadashi G. Takaoka 8335c59ea7 Fix NPE and don't call UI API from non-UI thread
This change also reverts I29ec3e9f10484f30288fac76f0c45b3707bc2259

Bug: 6956969
Bug: 6891020
Bug: 6947253
Change-Id: I7901c0f9489b4deb79314c2c903b138611bfd78e
2012-08-09 11:55:41 +09:00
Tadashi G. Takaoka 7ae1fd02d4 Use ArrayList to implement PointerTrackerQueue
Change-Id: Ie386e6c7869df4df940e09fccffc5cd661134557
2012-08-08 14:18:30 +09:00
Tadashi G. Takaoka 0cc425bd9c Add PointerTrackerQueue unit tests
This is a groundwork to elminate LinkedList from PointerTrackerQueue.

Change-Id: Ib77780537ceb0b4273fb8e483977ab76124c5ce7
2012-08-07 16:56:41 +09:00
Tadashi G. Takaoka 44972bcdb6 Fix multi-touch input in auto-caps field
Bug: 6905194
Change-Id: I7f9f61f36b7f3aa2b40c126a68232a947976aad2
2012-08-01 18:56:11 +09:00
Tadashi G. Takaoka d2173b5737 Cancel the while-typing timer when user hits the spacebar
Bug: 6689079
Change-Id: I6b366acdcefb8b2c0d973a4f2a12329fc12eb5c5
2012-07-31 19:39:52 +09:00
Tadashi G. Takaoka c902dfeb8f Fix gesture detection when sliding key input is disabled
Bug: 6867837
Change-Id: Icbfa69928c436343db545860a7d63171f52266b6
2012-07-26 17:41:54 +09:00
Tom Ouyang 2f81757c3a Add dynamic floating preview for incremental gesture recognition.
Change-Id: I7ba7ac24aa96a0ff19267997c5b58853079bc6dc
2012-07-25 19:40:55 +09:00
Tadashi G. Takaoka 0657b9698a Update gesture mode state when dictionary gets available
Bug: 6860204
Change-Id: I840b7bf1983ab92fa4e0b180129176539e96409f
2012-07-25 16:11:53 +09:00
Tadashi G. Takaoka c8e45ddb03 Rename LatinKeyboardView to MainKeyboardView
Change-Id: I8f3123b8d727c7beb72e226f80c17794f89c8b60
2012-07-23 12:11:43 +09:00
Tom Ouyang ccaa799ee9 Update gesture bounding box handling.
Change-Id: I085611ce6fd82608f284d74973e5bb14258cdc24
2012-07-22 10:54:27 +09:00
Kurt Partridge 6b966160ac ResearchLog refactor
- new package: com.android.inputmethod.research

multi-project commit with Ic0a5744f3160d13218addd589890623c0d120ffc

Bug: 6188932

Change-Id: Icf8d4a40a5725401799be6e209a640d99a5f34c4
2012-07-20 15:06:51 -07:00
Tadashi G. Takaoka 2474b37abd Merge "Disable gesture input detection when more keys keyboard is showing" 2012-07-20 03:28:52 -07:00
Tadashi G. Takaoka 62b8dddb6d Add gesture input enable settings
Bug: 6845325
Change-Id: I3165465b0b280e32a9288da16abb75baa67288dc
2012-07-20 19:26:36 +09:00
Tadashi G. Takaoka cc3500b0c8 Disable gesture input detection when more keys keyboard is showing
Bug: 6852441
2012-07-20 18:40:31 +09:00
Ken Wakasa afed0567e9 Performance improvements - Avoid using iterators
Change-Id: Iab604aa1ef67acf5d54208a6bc44635632845ae0
2012-07-20 17:51:52 +09:00
Tom Ouyang 4daf32b6c0 Add gesture trail feedback.
Change-Id: I32709fac0dec3165678a052aa286e2fb3d90721b
2012-07-20 17:09:23 +09:00
Tom Ouyang 0c5f72e2bf Improve incremental gesture tracking.
Eliminates need to recreate batch InputPointers on each gesture move event.
Fixes issue where batch points from previous tapping input get mixed into next gesture.

Change-Id: I9ecac66db88f5a87c6dde2138408906dd3d11139
2012-07-20 10:44:37 +09:00
Tadashi G. Takaoka 1e6f39a9f9 Tune the gesture detection logic a bit
Change-Id: Ia8e8c15fdbbd49768d57cafd50325e7e45af6251
2012-07-19 18:53:39 +09:00
Tadashi G. Takaoka 918e420d1b Gesture input should be turned off depending on the configuration
The gesture input will be disabled when
 * It is AOSP build.
 * Accessibility mode is on.
 * The input field is password mode.

Bug: 6844755
Bug: 6844763
Bug: 6845011
Change-Id: I74972cc765d15c08059e0c9014f863ffb2a57c6c
2012-07-19 16:33:09 +09:00
Tadashi G. Takaoka 57f7de0ba6 Add default capacity parameter to InputPointers' constructor
Change-Id: I02f23096f0682d30effe4dfc1ca57881a1e4aedc
2012-07-19 12:06:00 +09:00
Tadashi G. Takaoka 9580c467f9 Consolidate GestureTracker into PointerTracker
Change-Id: Ib28fae10493a9142ba4dff6cf57f52c59766b209
2012-07-18 20:11:06 +09:00
Tadashi G. Takaoka f39fccbd0f Make GestureStroke as top level class
And make PointerTracker object has GestureStroke object.

Change-Id: Ibf5cfd593c4f13468368e01acb847589b0ab12e7
2012-07-18 17:32:17 +09:00
Tom Ouyang eea34598bf Merging minimal gesture input
Change-Id: Iee6ae48bb6309c2867b5d2e344fe7d86dfabd654
2012-07-13 19:32:18 +09:00
Tadashi G. Takaoka 5e06b8534f Register the key when the finger slides off it in multitouch
Moved from jb-dev branch (I807fd6f4).

Bug: 6722867
Change-Id: I9764ac72f726396caaac819675d440372c882981
2012-07-10 20:14:29 +09:00
Tadashi G. Takaoka abf81192ff Merge "Remove unnecessary variables" 2012-06-26 03:16:17 -07:00
Tadashi G. Takaoka 3314d38daf Pass MotionEvent to PointerTracker
This is a one of groundwork to integrate gesture input.

Change-Id: I5b75c6978b51df91fdc384a9f6d1d5a5ddc563e2
2012-06-26 19:05:47 +09:00
Tadashi G. Takaoka 0d9d37cec2 Remove unnecessary variables
Bug: 6722052
Change-Id: I92e85b3e49b8f4b228f0cf0994216c5050e0865c
2012-06-26 19:01:59 +09:00
Tadashi G. Takaoka d7edd1cbb5 Cleanup PointerTracker debug method
Change-Id: Ib3bfa0a46f5814a6df838005d7243e2f536a98a0
2012-06-26 18:36:30 +09:00
Tadashi G. Takaoka 8a092b4ede Update current key reference in PointerTracker when keyboard is changed
This change also checks that the current key is the same key that
started the key repeat, when key repeat timer is fired.

Bug: 6722052
Change-Id: Id69880ded3338a5a3cbe7f8bf951f94f2651119c
2012-06-26 15:00:12 +09:00
Tadashi G. Takaoka 236c2c3987 am a6c88f10: am fe824948: Dismiss key preview immediately when Keyboard is closing
* commit 'a6c88f106a16fec2e81f87f170e97194c8fa7a3a':
  Dismiss key preview immediately when Keyboard is closing
2012-06-04 00:07:17 -07:00
Tadashi G. Takaoka fe824948bb Dismiss key preview immediately when Keyboard is closing
Bug: 6595594
Change-Id: I52311369929862b17879cd15fdee3598179eedbb
2012-06-04 15:47:32 +09:00
Tadashi G. Takaoka 4e3d9d375e am 9f41befb: am 9afafd0e: Merge "Restrict phantom sudden move event hack to specific device" into jb-dev
* commit '9f41befb8b5f4d86a03f9eb7e2d80148e9b55428':
  Restrict phantom sudden move event hack to specific device
2012-05-30 03:59:36 -07:00
Tadashi G. Takaoka d438fcaca2 Restrict phantom sudden move event hack to specific device
Bug: 6571778
Change-Id: I4306af387074d34db68a9bb16ae41debcfc36bfd
2012-05-30 19:49:38 +09:00
Kurt Partridge 86fcadde5d Fixes to json output
- booleans and numbers in SharedPreferences not quoted as strings
- removed redundant logging from KeyboardState
- json output for KeyboardId
- remove unnecessary logging of LatinImeLogger.onStartView() and PointerTracker checking keyboardlayoutchange
- fix to day-of-month part of uuid

Multi-project commit with Idb8f190214f852ab2b58df49f9e514dc7fcbecbb

Bug: 6188932

Change-Id: I67b4a0b34aa26c2804e2b3ee2136614f0ec8181a
2012-05-29 14:04:05 -07:00
Tadashi G. Takaoka 93ebf74bae Clean up some compiler warnings
Change-Id: I604da15e65fc3cf807ec4033df4e4cd5ef0196fc
2012-05-25 19:04:54 +09:00
alanv 6662e2a40d Implement "lift-to-type" interaction. Fix event text.
Bug: 6456970
Change-Id: Idd6b84fc7a730a1e78d9c1157e3b5f22e5d49fc4
2012-05-10 11:37:13 -07:00
Tadashi G. Takaoka 5a40dcaf8b Release previously pressed key even when the up event points new key
Bug: 6457266
Change-Id: I52c9fe88791d2c3a4385dfa457f07da160c60699
2012-05-09 20:24:14 +09:00
Tadashi G. Takaoka 0f87ca72f7 Start typing timer when key is pressed
Bug: 6327144
Change-Id: I5df0073ff38ac25e46455ef459121528c86a8dbe
2012-04-12 17:55:22 +09:00
Kurt Partridge 9bc29d78a6 add more data collection points to ResearchLogger (attempt #2)
the new points are all at Log.x() positions; only those appearing directly
related to user input were added.

multi-project change with I159f5de2

this CL is the same as I618bcd07, which was reverted because of
incompatibilities with vendor branches.

Bug: 6188932
Change-Id: I999249dceb0c04f5a4ffbfff25caed09d24a2c52
2012-04-09 09:38:07 -07:00
Kurt Partridge d16bda4a4a Revert "add more data collection points to ResearchLogger"
This reverts commit ac9e87c03e
2012-04-06 18:26:34 -07:00
Kurt Partridge ac9e87c03e add more data collection points to ResearchLogger
the new points are all at Log.x() positions; only those appearing directly
related to user input were added.

Bug: 6188932
Change-Id: I618bcd07b22c9efc794745678b073afe1e79a697
2012-04-06 09:35:13 -07:00
Tadashi G. Takaoka 723aaa2eeb Remove touch dead zone
KeyDetector should use the distance from the hit box to detect the
key.

Bug: 6174250
Change-Id: Id1745d90222d1d1a10467f194b45307c12449944
2012-03-15 20:16:43 +09:00
Tadashi G. Takaoka 6bc9186457 Disabled key should respond if it is in the altCodeWhileTyping state
Bug: 6128215
Change-Id: I81e9980f8ffa5c5eaba30676c8433f542645de1d
2012-03-14 20:17:42 +09:00
Tadashi G. Takaoka 73a46bfeb7 Gray out "alt-code-while-typing" key icon while typing
Bug: 6128215
Change-Id: Ie9c13d9d38aad6e92cc465e22f3ef20c80e0a36a
2012-03-14 19:36:24 +09:00
Tadashi G. Takaoka faad353fea Update other alt keys' graphics
Change-Id: I12699907a514f5fc2e110a0a711fb91c14a8756f
2012-03-13 22:12:40 +09:00
Tadashi G. Takaoka b4fbbe57f5 Avoid using collection interface, using array instead
Change-Id: Ie0554362b73967bfcbbab6ad19c24683066a608e
2012-03-13 20:53:15 +09:00
satok ca7ec2097c Integrate the logic to calculate the proximities
Bug: 4343280

Change-Id: I0f6a7e6912ed4abea07c10d266da4c7ccb0dae76
2012-03-06 15:34:27 +09:00
satok add6dfb8fe Remove unused code
Change-Id: I894c0850e803bdfc7b590a62ddd4076a3a4e4658
2012-03-05 21:07:03 +09:00
Tadashi G. Takaoka beb08b398f Remove unnecessary and harmful KeyboardState.onUpdateShiftState call
This change also cancels double tap and long press timers if other
letter key is pressed after shift key.

Bug: 5693999
Bug: 6017610
Change-Id: I3b5f3debfb8915fa73a93b409a38afadf24132e9
2012-02-16 18:02:17 -08:00
Tadashi G. Takaoka a5c96f376a Move long press shift handling from PointerTracker to KeyboardState
This change also
  * Rename phone shift keyboard to phone symbols keyboard.
    Use CODE_SWITCH_ALPHA_SYMBOL code to switch between phone and phone symbols keyboard.
  * Remove phone symbols keyboard from tablet.
  * Introduces enableLongPress flag of Key.keyActionFlags attribute.
  * Remove clumsy long press code from PointerTracker.
  * Remove CODE_CAPSLOCK handling from LatinIME.
  * Make KeyboardSwitcher to invoke haptic and audio feedback.

Change-Id: I00e1f697a10ab5112aec75e36853b96246ff5054
2012-02-01 19:04:21 +09:00
Tadashi G. Takaoka 0ed2d3a449 Fix double tap shift key enable/disable shift locked mode
Bug: 5942452
Change-Id: I2c7b1605bceac2b2f929cd4d97c417ef15c6f754
2012-01-31 18:06:54 +09:00
Tadashi G. Takaoka ca2f051cc1 Auto generate various shift states alphabet keyboard automatically
If any shift state variants of alphabet keyboard layout is not
specified in KeyboardSet.Element, it will be automatically generated
from base alphabet keyboard definition.

This change also
  * Eliminates KeyboardShiftState object from Keyboard.
  * Removes various set shift state methods from Keyboard.
  * Removes KeyboardSet.Element.elementAutoGenerate attribute.
  * Separates "sticky" Key.backgroundType to "stickyOff" and "stickyOn"
  * Add preserveCase flag to smiley, .com, and labeled special keys.
  * Rename KeyboardShiftState class to AlphabetShiftState.
  * Rename some attributes from *UppercaseLetter* to *ShiftedLetterHint*.
  * Introduce shiftedLetterActivated to Key.keyLabelFlags

Change-Id: I01a0a8efeeaa76820ae728a5bdfa8d02b6ce74b7
2012-01-31 12:55:45 +09:00
Tadashi G. Takaoka 160f01211d Get rid of Resource reference from KeyboardView, LatinKeyboardView and PointerTracker
This change introduces the following attributes.
 * KeyboardView
   - keyPreviewLingerTimeout
 * LatinKeboardView
   - keyHysteresisDistance
   - touchNoiseThresholdTime
   - touchNoiseThresholdDistance
   - slidingKeyInputEnable
   - keyRepeatStartTimeout
   - keyRepeatInterval
   - longPressKeyTimeout
   - longPressShiftKeyTimeout
   - longPressSpaceKeyTimeout
   - ignoreSpecialKeyTimeout
   - showMiniKeyboardAtTouchedPoint

Change-Id: I25159a87289b12447e20031add173523070e9b03
2012-01-26 16:10:20 +09:00
Tadashi G. Takaoka 2a88440419 Rename KeyboardActionListener methods
* Rename KeyboardActionListener.onPress to onPressKey
* Rename KeyboardActionListener.onRelease to onReleaseKey
* Merge KeyboardSwicther.onPressShift, onPressSymbol, and onPressOtherKey to onPressKey.
* Merge KeyboardSwitcher.onReleaseShift and onReleaseSymbol to onReleaseKey.
* Merge KeyboardState.onPressShift, onPressSymbol, and onPressOtherKey to onPressKey.
* Merge KeyboardState.onReleaseShift and onReleaseSymbol to onReleaseKey.

Change-Id: Icf28fd18e238c5e534c292893e4ab5b6b98e72f8
2012-01-17 19:07:20 +09:00
Tadashi G. Takaoka 8cab0b56eb Get rid of Keyboard.CODE_DUMMY
Change-Id: Id2320f4d9b5f22f0ac844ab20ce42b0c4e7c6880
2012-01-10 18:19:36 +09:00
Tadashi G. Takaoka 4a019a9c96 Use Set to group Keys in Keyboard instead of List
In deriving various shift stated alphabet keyboards from base/main
keyboard, almost all keys should be shared among variants.  Grouping
keys in Set instead of List is a essential refactor to have.

Bug: 5002108
Bug: 5679585
Change-Id: Idd5644d1c45a3276a24b61c984619c03d4e4c54c
2011-12-16 21:04:04 +09:00
Tadashi G. Takaoka 7dfd5a3e83 Move KeyDetector.printableCode to Keyboard
Change-Id: I9cde21fbb45c1e5f1a568bb97b1b1a76524f4bf2
2011-12-12 16:17:45 +09:00
Tadashi G. Takaoka 41a51bb2b4 Merge "Fix debug messages neatly" 2011-12-01 01:01:09 -08:00
Tadashi G. Takaoka e742436a29 Fix debug messages neatly
Change-Id: I40538d5ffbdf64df4e2848de33393327d704fc1e
2011-12-01 16:43:22 +09:00
Tadashi G. Takaoka c9f203805c Fix potential NPE
Change-Id: I00e7cd521bafd2705ebc2a59d63b7bfc4fe178ba
2011-12-01 16:29:13 +09:00
Tadashi G. Takaoka 2013bab89c Add Key.altCode attribute
* Registering alternate code and while key is typing.
  * Showing press/release graphics of the key that has the above altenate code.
  * Showing press/release graphics of all shift keys.
  * Renaming Key.ignoreWhileTyping to Key.altCodeWhileTyping.

Bug: 5639503
Change-Id: I67fb45bae76284a1f0deb6fd12ae5fb781d06cc3
2011-11-30 20:06:47 +09:00
Tadashi G. Takaoka e22baaadd3 Get rid of usage of key index
Change-Id: I7596ce3ae52fde436d06c2dd95ae873c7aa5ef7f
2011-11-29 19:07:54 +09:00
Tadashi G. Takaoka c1f7d39b4a Introduce ignoreWhileTyping flags to Key.keyActionFlags
Bug: 5639503
Change-Id: Ic2afad6766edb2538a58f722209e2daa40aa488d
2011-11-22 18:18:29 -08:00
Tadashi G. Takaoka 9324665263 Move ignore special key code out from LatinIME to PointerTracker
Bug: 5560766
Bug: 5639503
Change-Id: I34c9eea833516adf6ef1db58f1a64a5ef5322fa9
2011-11-22 17:49:12 -08:00
Tadashi G. Takaoka 13d5f6605b Add Key.keyActionFlags and obsolete Key.isRepeatable
This change also renames Key.keyLabelOption to keyLabelFlags.

Change-Id: Iedd0bfaa420ad382c07ce084416355690e390919
2011-11-21 20:33:03 -08:00
Tadashi G. Takaoka 431ce93925 Introduce noKeyPreview Key attribute
This change also removes hacks in LatinKeyboardView by utilizing
noKeyPreview attribute.

Bug: 5638595
Change-Id: Icd8a3af3b7849b941f8f5532e2b432e126a909e6
2011-11-18 14:40:05 -08:00
Tadashi G. Takaoka 18630d5fd6 am 15a01d72: Merge "Do not show key preview of settings and shortcut key" into ics-mr1
* commit '15a01d72724ce7f0a9a5814443a03b907962f3fd':
  Do not show key preview of settings and shortcut key
2011-11-18 09:15:52 -08:00
Tadashi G. Takaoka ca14c8bf34 Do not show key preview of settings and shortcut key
Bug: 5560766
Change-Id: I580efaf4e33f7dfbaa591e2afae9c49547bf26fb
2011-11-17 15:34:57 -08:00
Tadashi G. Takaoka e51d164482 Remove eventTime argument from PointerTracker.onShowMoreKeysPanel
Change-Id: Idbcd6e3047c6c0c407e3b347cf9f65951d43a312
2011-10-26 20:54:35 +09:00
Tadashi G. Takaoka 8ac6d505b7 More processTouchEvent from LatinKeyboardView to PointerTracker
Bug: 5241105
Change-Id: I8a5d15f43e2c9f294e78127eda68b0f85da5ad15
2011-09-06 15:57:15 +09:00
Tadashi G. Takaoka 29e7b7ed6e Implement popup suggestions pane
Bug: 5023981
Change-Id: Ie1d69131dbf884a3f6a2beb3ac3427e5437c1486
2011-08-31 21:21:22 +09:00
Tadashi G. Takaoka 9d5601e901 Rename PopupCharactersParser to MoreKeySpecParser
Also renames PopupPanel to MoreKeysPanel

Change-Id: I37209a5a8fe7dbba1eef03e3be88ba5253653926
2011-08-31 18:34:35 +09:00
Tadashi G. Takaoka a9311741b8 Merge "Add KeyboardActionListener.Adapter" 2011-08-29 03:19:04 -07:00
Tadashi G. Takaoka e3be3bcebc Add KeyboardActionListener.Adapter
Change-Id: If13df42efffc7cef746c09d5abfe7a8619452a0b
2011-08-29 19:09:56 +09:00
Tadashi G. Takaoka 46286874f3 Add guard to prevent possible IllegalStateException
Bug: 5227682
Change-Id: Iff93b425f52981b5e2c65e309b07bcfe4485eeb1
2011-08-29 18:38:04 +09:00
Tadashi G. Takaoka f44a01b408 Make PopupPanel decoupled with LatinKeyboardView and Keyboard
Bug: 5023981
Change-Id: Ib4fd55d52718aa244178ca2313f5e8487378324f
2011-08-29 17:07:48 +09:00
Tadashi G. Takaoka 32572948d7 Refactor and rename popup mini keyoard related classes
Change-Id: Ia92ec4612090b03829db9a87ce68d701db6e15bc
2011-08-23 17:51:57 +09:00
Ken Wakasa cadb2128f5 Fix issues with long-pressing the spacebar
bug: 5114433
Change-Id: I18f2147724a08965147bafe93e11fc86c7c59d33
2011-08-06 16:49:32 +09:00
Tadashi G. Takaoka 1be29abab2 Cleanup Keyboard related code and rename some classes
This is	a follow up change of I90ffbde0

Bug: 5023981
Change-Id: I3a6b862d05f5f907dee954cd6d6fee983b20ab5e
2011-08-02 17:12:02 -07:00
Tadashi G. Takaoka 8da9a13760 Make Keyboard object immutable except shift state
This is the first step to implement suggestions pane as mini keyboard.

Bug: 5023981
Change-Id: I90ffbde0fda19b4be68add449310997b56bf6904
2011-08-01 22:04:48 -07:00
Tadashi G. Takaoka d4b533774d Remove unused method
Bug: 4521802
Change-Id: Iae649f8b77b3bb144ee7eedbb6545e237fa79a17
2011-07-28 15:24:46 -07:00
Tadashi G. Takaoka 0a5345c7b6 Fix NPE
Bug: 5086698
Change-Id: Iaa3082649344722bd643c49c9d151df754d6e337
2011-07-27 15:37:42 -07:00
Tadashi G. Takaoka 4692af50da Support multiple key preview
Bug: 4298393
Change-Id: Ibd3681f7255c85e3602e1af4ace8f8e7fce3fb06
2011-07-26 14:55:19 -07:00
Tadashi G. Takaoka 9ec80d9d89 Make PointerTracker aware of that popup panel is showing
Bug: 5070598
Change-Id: I0604287b8c373e4763b4ccf88c0bd7235af907d5
2011-07-26 10:22:07 -07:00
Tadashi G. Takaoka d3002aa8cd Merge key preview handling into key graphics handling
Change-Id: I7b0ba38d833362817c607f6abffbaf0a07f52832
2011-07-23 02:23:24 -07:00
Tadashi G. Takaoka ef5dfc480c Remove sliding spacebar language switcher
Bug: 4971680
Change-Id: Ia3485ddcf8051bf7b7ba7f7a37fa75c3bc8a4798
2011-07-19 23:24:49 -07:00
Tadashi G. Takaoka 98b5c982b9 Trigger IME switcher by long-pressing space key
Long press time out for space key is set to 1000msec.
FYI: Time out for shift key is 1200ms and for mini popup keyboard is 400ms.

Bug: 4971680
Change-Id: Id05f519baa15ca2e54958997ddf7b6b3b7a2d078
2011-07-17 17:23:43 -07:00
Tadashi G. Takaoka 5c73ed628b Move PointerTrackerQueue into PointerTracker
Bug: 4768084
Change-Id: I1be83b38c48147827c871c92e17d37da3aeb0f95
2011-07-12 23:35:23 -07:00
Tadashi G. Takaoka 63c233ab9f Fix mini keyboard behavior while chording input
This change makes PopupMiniKeyboardView based on KeyboardView, so that
only LatinKeyboardBaseView can manage touch event and PointerTracker.

Bug: 4768084
Change-Id: Id30b132f1fae45da6e79ce822745cf0a653b8eb3
2011-07-12 21:52:49 -07:00
Tadashi G. Takaoka f426cdd5c6 Add KeyEventHandler interface
This change also revert KeyboardView to non-abstract class.

Bug: 4768084
Change-Id: I827defb58bfb28b345464f6a89aa4438e41cf1e2
2011-07-10 19:48:14 -07:00
Tadashi G. Takaoka 0efe174ea4 Pass KeyboardView to PointerTracker on down event
Bug: 4768084
Change-Id: I446b98daef8c9ec2408481e59cb2a88754ef9e01
2011-07-10 18:06:42 -07:00
Tadashi G. Takaoka 3fdae97417 Move processing MotionEvent out from PointerTracker
Bug: 4768084
Change-Id: Idfbc9706f9daeaa979edeee9064cb69326bd3bbc
2011-07-08 21:19:16 -07:00
Tadashi G. Takaoka 2321caa1f9 Narrower key timer handler static inner class to TimerProxy interface
Bug: 4768084
Change-Id: I8fdff864d09321b44d56a6a32e10aec3f0f5a4d1
2011-07-08 19:15:16 -07:00
Tadashi G. Takaoka 8a995157f3 Merge PointerTrackerKeyState into PointerTracker
Bug: 4768084
Change-Id: I0be0e07bff2542db6ba764dcb13505dfbff6994e
2011-07-08 16:26:11 -07:00
Tadashi G. Takaoka a9f69513df Merge "Remove swipe gesture" 2011-07-08 00:06:25 -07:00
Tadashi G. Takaoka c71854a661 Remove swipe gesture
Bug: 4971680
Change-Id: Ifff27f3bd3dd26417bfcb7072aaba074025b1bb7
2011-07-08 00:00:14 -07:00
Tadashi G. Takaoka 5a7a696aff Let KeyDetector hold Keyboard
Bug: 4768084
Change-Id: Ia28d6971fc59086dd4e6fedc9fd1b50f13b59854
2011-07-07 23:31:04 -07:00
Tadashi G. Takaoka 906f03121b Holding PointerTrackerQueue inside PointerTracker
Bug: 4768084
Change-Id: Id5006e549c4018a656abd088f14a209415baafed
2011-07-07 17:16:35 -07:00
Tadashi G. Takaoka f60d09ac30 Narrower KeyboardView reference
This change also rename static inner class to more readable name and
get rid of unnecessary object reference from PointerTracker.

Bug: 4768084
Change-Id: Ie4e2b940d66b47d41efcae7eeac853cdae2e4d38
2011-07-04 22:42:48 +09:00
Tadashi G. Takaoka a19b84dcf6 Move key hysteresis distance parameter to KeyDetector class
Bug: 4768084
Change-Id: Ib8771afd7363a4a5590b2b4a586e3014c026be34
2011-07-04 22:32:21 +09:00
Tadashi G. Takaoka 5f6816fa8b Move keyboard event handling code to separate LatinKeyboardBaseView class
To sort out the issue, main keyboard and mini keyboard have to share
the pointer trackers.

In order to prepare for that, KeyboardView needs to be refactored as
two separate classes. KeyboardView is responsible for drawing keyboard
visual. And LatinKeyboardBaseView is responsible for handling key
event and mini keyboard as well.

Bug: 4768084

Change-Id: I5643e333b9bdfde0c939a0693cea76bd22f38897
2011-07-04 18:53:50 +09:00
Tadashi G. Takaoka d773bf38a3 Cleanup key drawing code
This change also modifies 9-patch drawables to fix the following
issues.  In order to draw key background drawable just on the
coordinates we want, we have to know where an actual "visible" part is
in the drawable.  The only clue we can use is "padding" of the
drawable.  To achieve this, the 9-patch drawable must have its
"visible" part marked as "content".  Please refer the Bug: 4948171 for
more detailed explanation.

This change also reverts the following "black" drawables back from
Gingerbread because recent change broke these (I70019a91).
  * drawable-hdpi/sym_bkeyboard_*.png
  * drawable-hdpi/btn_keyboard_key_*_stone.9.png

Bug: 4948171
Change-Id: I6e4d03b3144caa95c793aac97af22df34c5f454f
2011-06-29 18:34:57 +09:00
Tadashi G. Takaoka 520a297ad1 Draw phone/number keyboard layout witout icon
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
2011-06-27 20:04:34 +09:00
Tadashi G. Takaoka e7759091dd Move Key class out of internal package
Bug: 4903326
Change-Id: I2493d6dae613d2e37dfa8ce96b4cddc9a038160c
2011-06-23 22:59:12 +09:00
Tadashi G. Takaoka c2a21786e5 Move icon declaration to Keyboard theme
Bug: 4436327
Change-Id: I074014d28dcb323b60dbc8fd9e169c75c393e0b3
2011-06-22 17:44:49 +09:00
Tadashi G. Takaoka 72934bd596 Move keyboard related internal class to separate package
Change-Id: Ic1459066b865cde5104b3734193f76c997959c68
2011-06-22 11:54:00 +09:00
Tadashi G. Takaoka e218baa6cc Fix NPE
Change-Id: I35efd1d6c8c2b48d93675d014d5c7aef7d12ed58
2011-06-20 11:29:04 +09:00
Tadashi G. Takaoka 9d9522abdc Add Key.keyHintLabel and remove Key.keyHintIcon
This change also removes manualTemporaryUpperCaseCode and
manualTemporaryUpperCaseHintIcon.  Instead of these keyLabelOption now
has hasUppercaseLetter flag value.

Bug: 4436327
Change-Id: I88fdac1e888a7123735296f5ef45f5fdd565cd2e
2011-06-16 21:24:19 +09:00
Tadashi G. Takaoka 1ddb4897fe Fix Keyboard crash when chording and long pressing key
This change just prevents crashing. The another bug#4646271 has been
opened to support chording and long pressing key.

Bug: 4463909
Change-Id: I50e42656fe111e6b261310c899e672b8ba001e5d
2011-06-15 17:05:39 +09:00
Tadashi G. Takaoka e07b51e7c6 Enable long press even if the key is disabled
Change-Id: Iddab254c7d6625bf44473109b4a52d2f7a163a27
2011-05-25 15:22:03 +09:00