Commit Graph

291 Commits (9ebba46c775f37abeb0451602cb323fd45adf33b)

Author SHA1 Message Date
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
Tadashi G. Takaoka 8632bff2d5 Fix copyright author from Google to AOSP
Change-Id: Iaceedc783181e43af6dd48ece218a42eace66532
2011-05-20 12:09:57 +09:00
Tadashi G. Takaoka 101a00e3d4 Revert "Added support for speaking keys through accessibility service."
This reverts commit dcade18113.

Bug: 4379983
Change-Id: I2448d8f03990a39a3e328a88904d82efc70241a2
2011-05-12 00:14:55 +09:00
Tadashi G. Takaoka 717cef79ea Fix quotation marks
This change
* Allows snap back from symbols shifted to symbol layout.
* Add "left single", "right single", "single low" and "single high
  reversed" quotation marks to popup characters of "single quote".
* Add "double low" and "double high reversed" quatation marks to popup
  characters of "double quote".
* Add "prime" and "double prime" to popup characters of "degree".
* Disable non-ASCII key of symbol more layout on passowrd input.

Bug: 4345054
Bug: 4347045
Change-Id: I8168ce6a74a9536e4966f7f9d1099ac0132925c7
2011-04-27 15:21:06 +09:00
Tadashi G. Takaoka a0537fb4c7 Fix repeat key behavior
Change-Id: Ia7e5b2e9579aa0e5050857cdb14f16fa05a33621
2011-04-22 21:17:55 +09:00
Tadashi G. Takaoka f172be448c Clear spacebar sliding language switch diff
Change-Id: If82540b6632476e049fa9c4b3122e9c053227d6e
2011-04-22 18:49:15 +09:00
Tadashi G. Takaoka 75136cd009 Fix language switch preview
This change also makes the delay after key preview longer to 60ms.

Change-Id: If7cf3b493824bb12e0bf44aa0bc3c186b15b51f6
2011-04-22 18:26:32 +09:00
Tadashi G. Takaoka d00d963b9d Fix NPE on non-distict multitouch device
Change-Id: I6d8a05bf62e510d0556fa4831b3d510041cca63a
2011-04-22 17:33:24 +09:00
Tadashi G. Takaoka c5c57b506e Move sliding language switch code to PointerTracker
This change is hack and temporal.

Big: 4328445
Change-Id: I0b8851e9f05390db20ddaa10f35cff1cc9f016da
2011-04-22 17:02:38 +09:00
Tadashi G. Takaoka ba9aefcc18 Disable key preview of space, return and delete
This change also re-orders punctuation mini keyboard.

Change-Id: I987ef14fe5956d13439a0a76de367feed825314c
2011-04-21 19:04:49 +09:00
Tadashi G. Takaoka e6cb8fc234 Display spacebar language switcher even when key preview is off
Bug: 4313884
Change-Id: I9d4a474302dadbfc610324799f8768b803705e52
2011-04-21 12:53:53 +09:00
Tadashi G. Takaoka d9786ce2e3 Refactor key preview code
This change removes mOldPreviewKeyIndex from KeyboardView.

Bug: 4298393
Change-Id: I832eb6deab7e078609973bf0b8be09f73db204d7
2011-04-19 20:32:57 +09:00
Tadashi G. Takaoka d2c2b4d112 Remove mPreviousKey in PointerTracker
This change also introduces PointerTracker.onLongPressed.

Change-Id: I079eb52175d8fe8b88ce3f13e31493d34d00ad5e
2011-04-19 17:35:11 +09:00
Tadashi G. Takaoka dc90d0a15f Refactoring keyboard drawing code and KeyDetector
Change-Id: I55009bf38b1422301223bd90463f837562559dc5
2011-04-15 18:35:08 +09:00
Tadashi G. Takaoka 7a3d3ae17f Fast key preview
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
2011-04-13 18:59:33 +09:00
Tadashi G. Takaoka 967d6073bf Disable popup preview and long press on disabled key
Bug: 4268147
Change-Id: Ibcb54791ef78737dd09d8a594b5a53b0909609d6
2011-04-08 17:14:12 +09:00
Tadashi G. Takaoka e7c0e73a19 Simplify the Key's on state transition
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
2011-04-07 20:28:46 +09:00
Tadashi G. Takaoka 996db15d3c Disable successive modifier key while sliding input
When user starts sliding key input, sliding through successive
modifier key will be ignored.

Bug: 4181843
Depends: I082885bd2376ae26bdfc378c14add2b5d6be1d4e

Change-Id: Ibe890b9cc1183dbe9f68a421650fcd97e7ff221c
2011-04-07 20:17:27 +09:00
Tadashi G. Takaoka e59491460b Remain in previous state while sliding off from shift key
Bug: 3502290
Change-Id: I69b60051863c78727363ae63576c28d87fb71a3a
2011-03-02 14:59:39 -08:00
Alan Viverette dcade18113 Added support for speaking keys through accessibility service.
Issue: 3366636

Change-Id: I70a2ebb4420782ba4d7d874ffc2259bb1b80446f
2011-02-23 18:16:43 -08:00
Tadashi G. Takaoka 690b1360bf Don't play key press sound if the key is disabled
Change-Id: I1c6d1b16a7420bc7e5f97f50da549e6a89498f18
2011-02-20 18:14:05 +09:00
Tadashi G. Takaoka f2fd472dcc Cleanup keyboard drawing code
Change-Id: I084e3ac835ee60b8e463ac10c075adbf08b9a7cb
2011-02-01 19:42:56 +09:00
Tadashi G. Takaoka faf437b507 Add hack to translate sudden move to up/down events
This change also gets rid of unnecessary debug messages.

Bug: 3400735
Change-Id: I3f003b1c2b553a2f841d4880f348a012d2d9c8ad
2011-01-28 16:35:02 +09:00
Tadashi G. Takaoka 5cd87e1b1c Disable shortcut key when network is not available
Bug: 3345931
Change-Id: I1deef774598b8e78da4404535b6d3814464a9d2d
2011-01-26 17:07:55 +09:00
Tadashi G. Takaoka 1a6fba5702 Fix potential keyboard layout change bug
Change-Id: I2518dd1d2ef4b77fe32bb1fed4e0c722f3d120c1
2010-12-31 11:46:48 +09:00
Tadashi G. Takaoka 5797cefca6 Longer long-press timeout in sliding input
Change-Id: Id74bddef4837ee46569775ce54f54d5535cfa463
2010-12-30 17:27:47 +09:00
Tadashi G. Takaoka baf83886be Filter out too short noisy touch events
Bug: 3294017
Change-Id: I1769eab1d096d16bfa9d6f23b973483ee6e7a478
2010-12-21 23:46:15 +09:00
Tadashi G. Takaoka 1d7d9664a9 Refactor PointerTracker class to include queue management
Change-Id: I81d025220df6d970d8758157a89168851c8421ae
2010-12-21 18:56:27 +09:00
Tadashi G. Takaoka 2b13b4f5e5 Suppress long press timer on hinted key while temporary upper case mode
Bug: 3301932
Change-Id: I29b5e5a9aa8b44681e763a4d6485109f3f99f6fa
2010-12-21 17:28:19 +09:00
Tadashi G. Takaoka c4f71668d7 Remove multi-tap feature
Change-Id: Ife44b3f9d420d77d2cfb51044a8356f02ed63e8b
2010-12-20 21:58:31 +09:00
Tadashi G. Takaoka 8aa3f5a3ad Cleanup KeyboardActionListener interface
Change-Id: I851eaea479f1590fd404a7a37a9a35d1bdcd378c
2010-12-20 19:52:08 +09:00
Tadashi G. Takaoka cb2469ae17 Suppress haptic feedback while sliding key input
Bug: 3298222
Change-Id: I9507a98cc833fc6403cf9abf23457748a2bf89de
2010-12-20 19:48:27 +09:00
Tadashi G. Takaoka 5ef421b58a Cancel long press timer when sliding key input is not allowed
This change also fixes auto snap back behavior of key which has output
text, such as smiley key.

Bug: 3297825
Change-Id: Ia06e1abc0fbdff2a26504ddcce1dc7f933b45453
2010-12-19 21:57:50 +09:00
Tadashi G. Takaoka ef71c4aa4c Fix checking of sliding off from key
This is follow up change of Id6f69e82.

Change-Id: I15127929b8eeb511a652c7ae6a14ababbb49ee24
2010-12-19 19:52:15 +09:00
Tadashi G. Takaoka dbc44989a5 Refactor PointerTracker class
Change-Id: Id6f69e82119a9a3f618d95443a3ecc766abab08a
2010-12-19 19:15:01 +09:00
Tadashi G. Takaoka 9e91472285 Automaticaly snap back to the previous mode from sliding symbol input
Bug: 3280151

Change-Id: I48ea134639465d0cc178e524af8d7885d185957d
2010-12-19 18:48:49 +09:00
Tadashi G. Takaoka 67a4ecacc7 Disallow sliding key input
This feature is configurable by R.bool.config_sliding_key_input_enabled.

Bug: 3294076
Change-Id: I0225a6ce19d9b911c9d9543a106ab57ee0b7de75
2010-12-18 20:41:53 +09:00
Tadashi G. Takaoka e26ef1bccd Remove Tutorial class and unused debug feature
This change also cleanups compiler warnings.

Bug: 2897373
Change-Id: If972cf45c1eb40436adbddbf71969e5409f4c9c5
2010-12-10 18:24:00 +09:00
Tadashi G. Takaoka e18bd3e323 Fix voice key on phone device
This change,
- changes voice key code back to -102
- renames some key code names and method names
- adds mic_slash_holo to drawable-hdpi

Change-Id: I8be3a20921f472ece4298edad2d275f29a7e4955
2010-12-06 12:29:59 +09:00
Tadashi G. Takaoka 418d80d7de Double tap on shift key turns on caps lock
Bug: 3238128
Change-Id: Ib641d33da148b72c7c775caa11e0b2ab58a8c081
2010-12-03 09:31:35 +09:00
Tadashi G. Takaoka 571bdb401f Refactor LatinKeyboard and LatinKey
This change also moves KeyboardSwitcher and related classes to
com.android.inputmethod.keyboard package.

Multi project change with Ib23017b2

Change-Id: Id7d54b24615fe22ebb540ca847549909e346ee24
2010-12-02 23:03:59 +09:00
Tadashi G. Takaoka 5a309f5715 Move some inner static class to top class in new package
This change introduces new package com.android.inputmethod.keyboard
which hosts keyboard related classes.

Also adds missing @Override and @SuppressWarning("unused") annotation

Change-Id: I0317f5cfa317e13f3c77815f48ffc69b5d1ade05
2010-12-02 20:06:01 +09:00