Commit graph

126 commits

Author SHA1 Message Date
Kurt Partridge
48a7681e06 researchLogger detail on IME sessions
log device type, screen size, etc.  also simplification inside ResearchLogger
to use exceptions better, and fix ResearchLoggerTests to not change
preferences to specify the logfile.

multi-project change with Idfd193b16260215cca32886e288f03a0c12b2781

Bug: 6188932
Change-Id: Idd3ca6eb8e8e3934f68234b241c7fd7d0cc3bcd5
2012-04-19 20:19:55 -07:00
Tadashi G. Takaoka
55d28fd1b2 Cleanup InputMethodManagerCompatWrapper
Change-Id: Id3b84ee19bb504ed8fbb398e260cc663a5b5ae0d
2012-04-18 18:01:29 +09:00
Tadashi G. Takaoka
79e07e3f84 Remove useless key event handling methods
Change-Id: I8c42fba79aba643ab7a145e6fd54ef23855a3ad0
2012-04-18 11:55:11 +09:00
Tadashi G. Takaoka
f6972561fc Utilize InputMethodSubtype and additional subtype
* Remove de_QY and fr_CH from supported subtypes
* Add de-qwerty and fr-qwertz predefined additional subtypes instead.

Change-Id: I49e8ba0299529302f2b91b4d018b07304cdd6897
2012-04-13 18:36:26 +09:00
Tadashi G. Takaoka
45213ed2a6 Polish fade-in/out animations for the gray-out-while-typing keys
Bug: 6326723
Change-Id: Idb6fa023c497cf1f0f584f496e7e5ae82b1c9f4f
2012-04-12 16:43:24 +09:00
Tadashi G. Takaoka
f1678ba802 Don't cancel key typing timer when new keyboard is set
This change also fixes some typos.

Bug: 6312143
Change-Id: I5d752c05b128a47ed022a4a804b02559eeee6915
2012-04-12 15:35:44 +09:00
Tadashi G. Takaoka
ed3bac91f2 Introduce KeyboardCodesSet.java and remove keycodes.xml
Change-Id: Icfd6d06f47425aa037682d22c895548ba6f047d8
2012-04-10 11:53:58 +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
3bf57a5624 Use "No language (QWERTY)" for language agnostic QWERTY keyboard name
Bug: 6010147
Change-Id: I401c2e3fcd639c0e1a03e64489a0d792810caa18
2012-04-04 12:58:42 +09:00
Tadashi G. Takaoka
c6435f92a8 Remove AccessibilityManagerCompatUtils and MorionEventCompatUtils
Bug: 6129704
Change-Id: Icb7e80588536066c4fe5b4a1afc100a724b43e7b
2012-04-03 16:51:02 +09:00
Ken Wakasa
911b8f9d19 Remove the "deprecated" classes
bug: 6129704
Change-Id: Ib27f2774444e1f084b19be3fe6f56d25dffa7084
2012-03-30 16:20:56 +09:00
Ken Wakasa
c166697e3f Optimization: Start making use of ProductionFlag.IS_EXPERIMENTAL for ResearchLogger
Move GodMode specific tests to relevant directories as well.

This goes along with I9dc4d469

Change-Id: I4a21c53846b26eede346cb1da13e6abbdf9ec27f
2012-03-27 11:55:23 +09:00
Kurt Partridge
d05afa3f4c move usability log code to new class (ResearchLogger) and clean api
This change also undoes the effects of I8694eb9016, which was an initial
effort built on Utils.UsabilityStudyLogs.  Now Utils operates as it did
previously, for backward compatibility, but the ResearchLogger retains
the new log format.

Coordinated with  I274b75c5.

Bug: 6188932
Change-Id: I41208bdc6b511f69a010c9fc38a936521beba7d5
2012-03-24 20:14:42 +09:00
Tadashi G. Takaoka
9835808e83 Merge "Use ObjectAnimator" 2012-03-22 01:39:01 -07:00
Tadashi G. Takaoka
31c94cea82 Use ObjectAnimator
Bug: 6187069
Change-Id: I7df18b470b7e746da601fab3311fb4b086f40d41
2012-03-22 12:44:46 +09:00
Kurt Partridge
fdd68f0657 log through group level abstractions
For the groups:
- LogGroup.MOTION subfields now deteremined in Utils.writeMotionEvent() rather
  than in LatinKeyboardView.processMotionEvent()
- LogGroup.KEY is now logged throguh LatinIME.onCodeInput() rather than
  Utils.push().  This catches keys more generally, including modifiers, and
  records touch positions for everything.  Removed now-redundant
  Utils.writeBackspace() and Utils.writeChar().
- LogGroup.CORRECTION uses Utils.writeCorrection(), and formats instead of
  leaving this to callers.
- LogGroup.STATE_CHANGE uses Utils.writeStateChange().  Optional fields are
  still left to callers, as this group has more variety.

Formats have changed to incorporate new fields.

Minor housekeeping:

ENABLE_USABILITY_STUDY_LOG constants replaced with variable references, as
the logging feature can be changed in Settings and therefore dynamically
changes.

New log format:

20120322-111203.621+0900        1332382323621   s       [onStartInputView]      com.socialnmobile.dictapps.notepad.color.note   2131624043      147457  1140850694
20120322-111204.912+0900        1332382324912   m       [Down]  2782355 0       243     171     0.5666667       0.895
20120322-111204.975+0900        1332382324975   m       [Move]  2782419 0       240     171     0.6     1.17
20120322-111204.983+0900        1332382324983   m       [Move]  2782428 0       238     171     0.6     1.1899999
20120322-111204.992+0900        1332382324992   m       [Move]  2782437 0       236     171     0.6     1.1899999
20120322-111205.002+0900        1332382325002   m       [Move]  2782446 0       232     170     0.6     1.1899999
20120322-111205.012+0900        1332382325012   m       [Move]  2782456 0       227     169     0.6     1.125
20120322-111205.021+0900        1332382325021   m       [Move]  2782465 0       224     168     0.6     1.125
20120322-111205.031+0900        1332382325031   m       [Move]  2782475 0       221     167     0.6     0.895
20120322-111205.040+0900        1332382325040   m       [Move]  2782483 0       213     164     0.6     0.58
20120322-111205.047+0900        1332382325047   m       [Up]    2782491 0       213     164     0.6     0.58
20120322-111205.052+0900        1332382325052   k       'D'     243     171
20120322-111205.228+0900        1332382325228   m       [Down]  2782622 0       171     71      0.6333334       1.275
20120322-111205.243+0900        1332382325243   m       [Move]  2782677 0       178     69      0.6333334       1.275
20120322-111205.325+0900        1332382325325   m       [Up]    2782750 0       178     69      0.6333334       1.275
20120322-111205.333+0900        1332382325333   k       'e'     171     71
20120322-111205.509+0900        1332382325509   m       [Down]  2782936 0       265     139     0.53333336      0.885
20120322-111205.512+0900        1332382325512   m       [Move]  2782954 0       265     141     0.53333336      1.04
20120322-111205.552+0900        1332382325552   m       [Move]  2782973 0       265     143     0.5666667       1.14
20120322-111205.663+0900        1332382325663   m       [Up]    2783102 0       265     143     0.5666667       1.14
20120322-111205.668+0900        1332382325668   k       'f'     265     139
20120322-111206.140+0900        1332382326140   m       [Down]  2783584 0       348     352     0.53333336      0.675
20120322-111206.206+0900        1332382326206   m       [Move]  2783648 0       348     354     0.5666667       0.73499995
20120322-111206.223+0900        1332382326223   m       [Move]  2783666 0       348     356     0.5666667       0.545
20120322-111206.232+0900        1332382326232   m       [Up]    2783674 0       348     356     0.5666667       0.545
20120322-111206.236+0900        1332382326236   k       ' '     348     352
20120322-111206.245+0900        1332382326245   c       [----]  Def             -1

Bug: 6188932
Change-Id: Iea46a0c683f858b72005b8e81191ef1d70262dca
2012-03-22 12:02:10 +09:00
Kurt Partridge
78bf41b89c Add additional structure to output logs to group entries by optional fields.
The new format has time, time as int, and the new logGroup code
    (m=motionEvent, k=key, s=statechange, c=correction)
    followed by additional text whose format depends on the logGroup code.

The additional text will be cleaned up in later CL's.

20120321-170548.067+0900        1332317148067   m
[Down]143116235,0,691,378,0.40000004,0.435
20120321-170548.133+0900        1332317148133   m
[Up]143116302,0,691,378,0.40000004,0.435
20120321-170548.146+0900        1332317148146   k       <enter> 691     378
20120321-170602.485+0900        1332317162485   s
[onStartInputView]com.socialnmobile.dictapps.notepad.color.note,2131624043,147457,1140850694
20120321-170606.508+0900        1332317166508   m
[Down]143134679,0,40,154,0.4666667,0.64
20120321-170606.567+0900        1332317166567   m
[Move]143134723,0,42,154,0.4666667,0.765
20120321-170606.577+0900        1332317166577   m
[Move]143134746,0,44,154,0.4666667,0.775
20120321-170606.652+0900        1332317166652   m
[Up]143134824,0,44,154,0.4666667,0.775
20120321-170606.662+0900        1332317166662   k       A       40      154
20120321-170607.200+0900        1332317167200   m
[Down]143135372,0,411,390,0.53333336,0.585
20120321-170607.311+0900        1332317167311   m
[Up]143135483,0,411,390,0.53333336,0.585
20120321-170607.313+0900        1332317167313   c       [----]A

Bug: 6188932
Change-Id: I8694eb9016d8cf0389ef582f6c7d2820aa4d2c92
2012-03-21 19:41:10 +09:00
satok
728d1c884e Cleanup proximity related code
Bug: 4343280
Change-Id: I57c0f9e20d9d8911009ea97057251a7f7a81512f
2012-03-19 18:33:59 +09:00
Tadashi G. Takaoka
b9720a55b4 Don't reset animation alpha value when keyboard is set
The keys' blinking that mentioned in the bug is caused by switching
keyboard layout resets the animation's alpha value to opaque but the
animation is still running and changing the alpha value
asynchronously.

I think that switching keyboard layout between alphabet and symbols
doesn't imply that the user stops typing. So the keyboard view should
continue typing state timer to keep animations' alpha values changing
and never reset the value.

Bug: 6174273
Change-Id: Id795feaf44750358f30c1b3dc8e783a7e62aefe8
2012-03-16 10:08:48 +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
d7c4ba1709 Use XML animator definition
Change-Id: Ic2f6d3f8fdd2c0b0a00f004f49f95b00d474ee4b
2012-03-14 13:08:27 +09:00
Tadashi G. Takaoka
aee5f03d6e Use integer alpha value instead of factor for animation
Change-Id: I3099a7625e0176a1d2be42e58d6eb5fa95797bcb
2012-03-13 16:47:45 +09:00
Tadashi G. Takaoka
dabf96896e Move language on spacebar parameters to LatinKeyboardView attributes
Change-Id: I06e5d7d158a9b14b00df34e68b12cd012faf17d1
2012-03-13 16:17:13 +09:00
Tadashi G. Takaoka
4c0c638a18 Use Animator to draw language name on spacebar
Note that Animator class exists in framework only on Honeycomb or
later.

Change-Id: Ie3392dbf8acc1547ebb2d16e04086c911d961aed
2012-03-13 14:25:57 +09:00
Tadashi G. Takaoka
cc8c8b99bd Split Utils class to StringUtils, SubtypeUtils, and JniUtils
Change-Id: I09e91675fe7d573dad8c933ad513b21d7e409144
2012-03-08 20:30:38 +09:00
Tadashi G. Takaoka
81d4e3cd66 Add language switch key only to the phone layouts
Bug: 5759092
Change-Id: Ic7d7d4812976654c0e85fecabd1128eadfc52c5c
2012-03-07 10:03:21 +09:00
satok
ca7ec2097c Integrate the logic to calculate the proximities
Bug: 4343280

Change-Id: I0f6a7e6912ed4abea07c10d266da4c7ccb0dae76
2012-03-06 15:34:27 +09:00
Tadashi G. Takaoka
e491be6e86 Support embedded more key
This is a followup change to Ie10b3e0b.

Change-Id: I1f91d96e32357b83bd0546537d561d638b6ff0c6
2012-03-05 14:22:52 +09:00
Tadashi G. Takaoka
04bc787ce7 Fix comment
This is follow up of  Ie10b3e0.

Change-Id: Idefbe1575915bb87f1c86cb3ddb5efe578c5b760
2012-03-05 11:10:28 +09:00
Svetoslav Ganov
0af449aa64 Merge "Added virtual view hierarchy for keyboard accessibility." 2012-03-02 15:39:12 -08:00
Tadashi G. Takaoka
508ded5827 Fix long press behavior of akye that has altCode defined
This issue has been introduced by I2bd4daf2

Change-Id: Ie10b3e0bb360986597a0f5a8e5b8253400f924c4
2012-03-02 21:29:51 +09:00
Tadashi G. Takaoka
ede2133cb1 Support time, date, and datetime keyboard
Bug: 6030364
Change-Id: I2bd4daf264757d8f3fa7c946d10a39c36ccf5905
2012-03-02 14:01:07 +09:00
Tadashi G. Takaoka
b19a6b9fc5 Fix spacebar icon position on phone/number keyboard
Change-Id: I4d6bb0f2f12e7b263ff951f3173cac8e41d0f23e
2012-03-01 00:37:51 +09:00
alanv
9a81ce92c3 Added virtual view hierarchy for keyboard accessibility.
Bug: 5829051
Change-Id: Ied1b6267eec616bd3b9337f6e761b0c740aa0eb2
2012-02-28 10:01:40 -08: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
2affaf91a0 Rename mini keyboard to more keys keyboard
Change-Id: Ie4c85e8ca5a1f41a420aae5c1cd9c1cb07e237e5
2012-02-08 16:12:31 +09:00
Tadashi G. Takaoka
909b2940db Merge "Get rid of Key.setIcon(Drawable)" 2012-02-02 21:51:51 -08:00
Tadashi G. Takaoka
e7948a8692 Get rid of Key.setIcon(Drawable)
Change-Id: If6ebbdefcbfd0cc14c72858f9bb44861e8abe079
2012-02-03 14:38:17 +09:00
Tadashi G. Takaoka
32c54c4dbe Fix key repeat interval timeout
Bug: 5960472
Change-Id: I27d4b81d393f2ace946740a0b0801cea8c63b5b8
2012-02-03 10:02:22 +09:00
Tadashi G. Takaoka
40e9012276 Fix wrong long press timeout for shift key
Change-Id: Ifafbed1bcdaf662ee6a69050043739fa71986841
2012-02-01 21:15:34 +09: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
Ken Wakasa
6029b43a3d Add "size" and "pressure" for MotionEvent logs
bug: 5722703
Change-Id: I8e08942324b666de96682ce63e70c8d324535782
2012-01-30 12:22:15 +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
bd93eddb52 Draw language name on spacebar on the fly
Change-Id: If54251acbd40d0dda37df1b368ed76dcdf3c8ac0
2012-01-25 19:05:58 +09:00
Tadashi G. Takaoka
f9521c6f37 Change scope of some methods in KeyboardView
Change-Id: I6569b413b20a2e683c6c636aafd755f51868dd28
2012-01-25 18:50:27 +09:00