Commit graph

1184 commits

Author SHA1 Message Date
Tadashi G. Takaoka
865df41ba8 am 647827cc: am 78e3977e: Get rid of unused CODE_HAPTIC_AND_AUDIO_FEEDBACK
* commit '647827cc0171f7dc5d425dea5754fca3df49d036':
  Get rid of unused CODE_HAPTIC_AND_AUDIO_FEEDBACK
2012-05-21 14:29:25 -07:00
Tom Ouyang
cfec078d8b am 4bdb2bf3: am e1128687: Merge "Change to a binary version of the expandable user dictionary." into jb-dev
* commit '4bdb2bf3b9cceb99736a736de42088fcf3bd1a0f':
  Change to a binary version of the expandable user dictionary.
2012-05-21 14:10:54 -07:00
Tadashi G. Takaoka
6fbb8c8fc3 am 628a5745: am 75c60bf3: Merge "Change auto caps mode argument to int type" into jb-dev
* commit '628a5745e19d227cdff2370704a4958e2791eb5a':
  Change auto caps mode argument to int type
2012-05-21 14:10:50 -07:00
Jean Chalard
45befb946f am 9ad774d1: am 91492993: Merge "Close batch edit" into jb-dev
* commit '9ad774d1f68bf3d2a4c38e5b4c3a2fa03e371eff':
  Close batch edit
2012-05-21 12:44:10 -07:00
Jean Chalard
8717ad4cbd am 79daef2e: am 71b047e3: Merge "Don\'t deactivate the LastComposedWord on shift" into jb-dev
* commit '79daef2e9b29b67048cd052b33c88675a0c62220':
  Don't deactivate the LastComposedWord on shift
2012-05-21 11:52:11 -07:00
Tadashi G. Takaoka
16950d65c3 Reset automatic upper case when chroding key is pressed
Bug: 6501446
Change-Id: Idc3b88b5370c0d7968cc388885e9066f922cfcf3
2012-05-21 19:24:43 +09:00
Tadashi G. Takaoka
78e3977e90 Get rid of unused CODE_HAPTIC_AND_AUDIO_FEEDBACK
Bug: 6523953
Change-Id: Ibea6c74d00e956116f492a3bedfe40e580b4c316
2012-05-21 12:24:17 +09:00
Tom Ouyang
e1128687b1 Merge "Change to a binary version of the expandable user dictionary." into jb-dev 2012-05-18 10:05:11 -07:00
Tadashi G. Takaoka
553e2f19c1 Change auto caps mode argument to int type
Bug: 6501446
Change-Id: I3f7bc0fc39edd29ebf96107c3d43b9ccc9b8022e
2012-05-18 17:46:05 +09:00
Jean Chalard
d4cacb1e41 Close batch edit
This does the same thing as Ie30e1aff but differently

Bug: 6512086
Change-Id: I47ae990510d3f657abd45ad5f0e325d93dec83c0
2012-05-18 12:07:58 +09:00
Tom Ouyang
f6adff6227 Change to a binary version of the expandable user dictionary.
Bug: 6435677
Change-Id: If83409f699608d443796e64a3c65692ae81b98e6
2012-05-17 15:12:00 -07:00
Jean Chalard
125de3dfdf Don't deactivate the LastComposedWord on shift
Bug: 6495116
Change-Id: Ib86de02a1216146082bf58a033982ac37fefffe1
2012-05-17 17:05:30 +09:00
Jean Chalard
848081ad8b am 8dced70b: Merge "Read and use user dictionary shortcuts." into jb-dev
* commit '8dced70b062744a2c27e0cf6dcd0787cf598a97c':
  Read and use user dictionary shortcuts.
2012-05-15 11:37:54 -07:00
satok
d9c4aa83e1 am 76218b96: Merge "Do not set "SuggestionSpan"s for suggestions from the next word predicition" into jb-dev
* commit '76218b966a6a712f3baa72d95c6d125d414cdbd4':
  Do not set "SuggestionSpan"s for suggestions from the next word predicition
2012-05-15 11:37:52 -07:00
Kurt Partridge
0320c526c2 Merge "include text context in researchLogger" 2012-05-15 10:17:59 -07:00
Jean Chalard
8dced70b06 Merge "Read and use user dictionary shortcuts." into jb-dev 2012-05-14 20:38:23 -07:00
Jean Chalard
19ad9bf145 Read and use user dictionary shortcuts.
Bug: 4646172

Change-Id: I51002c73d5bad1a698110c5cda02253348be8eed
2012-05-15 12:23:43 +09:00
satok
0142b997bf Do not set "SuggestionSpan"s for suggestions from the next word predicition
Bug: 6294817
Change-Id: I5010eafa5ba7e947743706adf7e722f4f0cfb415
2012-05-15 12:08:31 +09:00
Kurt Partridge
aec44d50a7 include text context in researchLogger
when logging LatinIME.onUpdateSelection(), now include the current word and
preceding word.  no escaping of the word is performed; this is temporary
until the output format is cleaned up.

also fix EditingUtils.getWordRangeAtCursor to support supplementary
UTF-16 characters.

Bug: 6188932
Change-Id: If4612a2627537d5d8bb2f9585a3ad1b4e56c2e26
2012-05-14 09:55:26 -07:00
satok
9978953e29 am 6792a909: Merge "Output caps debug code" into jb-dev
* commit '6792a909cd0da3db6a957cb2576b4d08f46a53b7':
  Output caps debug code
2012-05-11 03:33:42 -07:00
satok
b6fb5eb391 Output caps debug code
Change-Id: I4a3399d9066bd28dab893ecebb720924110b871d
2012-05-11 17:37:14 +09:00
Tadashi G. Takaoka
46b26ed892 am c8bde75c: Merge "Optimize InputConnection.getCursorCapsMode calling" into jb-dev
* commit 'c8bde75cf455c02efc57c2e35bbe446b83c23739':
  Optimize InputConnection.getCursorCapsMode calling
2012-05-09 01:55:45 -07:00
Jean Chalard
9648b1674e am d5cd7e64: Small optimization
* commit 'd5cd7e64aa30096241f63e47a9169699bdd98231':
  Small optimization
2012-05-09 01:55:44 -07:00
Jean Chalard
4e02b1273b am 442ac5d0: Merge "Don\'t ask for surrounding characters for each keypress" into jb-dev
* commit '442ac5d0bb96ec257d26b28df2fabefdefe59b96':
  Don't ask for surrounding characters for each keypress
2012-05-09 01:55:43 -07:00
Tadashi G. Takaoka
3b0f0b57ff am f52aef84: Merge "Tab key preforms next action when EditorInfo.IME_ACTION_NEXT is specified" into jb-dev
* commit 'f52aef84a582197d6f8e580044b2d24d2a710cef':
  Tab key preforms next action when EditorInfo.IME_ACTION_NEXT is specified
2012-05-09 01:55:41 -07:00
Tadashi G. Takaoka
c8bde75cf4 Merge "Optimize InputConnection.getCursorCapsMode calling" into jb-dev 2012-05-09 00:24:00 -07:00
Tadashi G. Takaoka
03ca17c841 Optimize InputConnection.getCursorCapsMode calling
Bug: 6464226
Change-Id: I30c1b01be5e1719ded5f7f8a7e24a38e9bbc3637
2012-05-09 16:19:08 +09:00
Jean Chalard
d5cd7e64aa Small optimization
Change-Id: I067249976e557b60b606d2153deaeb3c8f1f38ac
2012-05-09 16:14:25 +09:00
Jean Chalard
736b109e16 Don't ask for surrounding characters for each keypress
Bug: 6464226
Change-Id: I03745bbcc21e5ec6ca57fa1257bf21c0cd26391a
2012-05-09 15:19:35 +09:00
Tadashi G. Takaoka
0b831ba2aa Tab key preforms next action when EditorInfo.IME_ACTION_NEXT is specified
Bug: 6435484
Change-Id: Iccca7d1b770c547efae0b5e5931cebd910083d40
2012-05-08 13:20:39 +09:00
Kurt Partridge
5a937aae99 Merge "record full text after finishing session" 2012-05-04 21:09:22 -07:00
Kurt Partridge
d67a248de4 record full text after finishing session
uses onWindowHidden() callback as proxy for finishing session.

Bug: 6188932
Change-Id: Ic63b47c946ca91fc35f80d71b2f9e24e2d0339ac
2012-05-04 10:57:50 -07:00
satok
9ec06c17d4 Fix build breakage
Change-Id: I22305137b336c9aab019d044a517ae8bc5fefe45
2012-05-02 18:14:40 +09:00
satok
57007ed582 Merge "Workaround return preserved backing view height when the backing view is not ready" into jb-dev 2012-05-02 01:42:00 -07:00
satok
f4cf5b9952 Workaround return preserved backing view height when the backing view is not ready
Change-Id: If4f24500ead516c46e6a93a95291e0897548c2f0
2012-05-02 17:40:10 +09:00
Tadashi G. Takaoka
ae2388c7f7 Fix checking if subtype belongs to this ime
Bug: 6422318
Change-Id: I5779c0e277444315191fa964a976dcb4316cc24a
2012-05-01 20:21:10 +09:00
Jean Chalard
551612dd9e Fix a bug where two spaces would be added instead of one
Bug: 6378291
Change-Id: Id2453333ae16146f816faf0eb68baa8ea1dd106a
2012-04-23 18:15:51 +09:00
Jean Chalard
96fb3094aa Fix a bug where a batch edit would not be started.
This would end up in TextView sometimes calling onUpdateSelection
multiple times (this is the correct behavior for TextView). We now
commit the space and the word in a batch edit, and we only get
onUpdateSelection once.

Bug: 6300527
Change-Id: I9579f3d8f5320c1cc24a7a42f19db8e105eb090d
2012-04-23 17:45:50 +09:00
Jean Chalard
29a1fc0f6b Don't allow cancelling manual pick.
Bug: 6347202
Change-Id: I30b53256e83c534436b0f0ff594fd4aaabf4558c
2012-04-20 15:55:45 +09:00
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
6a7019ff5d Move main dictionary availability check to LatinIME
Change-Id: Ib6183fec833d87bc32514b03bb691fec0a1e6ff8
2012-04-19 23:23:26 +09:00
Tadashi G. Takaoka
65e93e352f Fix SubtypeSwitcher to honor subtype
Bug: 6364170
Change-Id: I31f9a7c9b6b4ca04a1c78a4210dcaae0db9825db
2012-04-19 22:42:14 +09:00
Tadashi G. Takaoka
1cb08acaf3 Add Constants class to hold public constants
This change also gets rid of compiler warnings about "deprecations".

Change-Id: Id9b83483c453a81ebac34b684656db05e3599657
2012-04-19 19:45:19 +09:00
Tadashi G. Takaoka
344af15674 Change predefined additional subtype format in preference
This change also refactor StringUtils class

Change-Id: Ie0b4d169b21c260bf238d6fcc9ab0ee8bfd6b508
2012-04-19 17:11:21 +09:00
Tadashi G. Takaoka
f5a0bd2c28 Make predefined subtype configurable by XML resource
Change-Id: I1f8486a1fb652f1e06789e7bfd2cc57273092234
2012-04-18 22:45:26 +09:00
Tadashi G. Takaoka
55d28fd1b2 Cleanup InputMethodManagerCompatWrapper
Change-Id: Id3b84ee19bb504ed8fbb398e260cc663a5b5ae0d
2012-04-18 18:01:29 +09:00
Tadashi G. Takaoka
a58ebc73ae Fix typo of some methods' name
Also changes some methods' argument type from Locale to String.

Change-Id: Ib68b528a450dc68a01546483403230f76500bee4
2012-04-18 16:40:50 +09:00
Kurt Partridge
d442984e96 researchLogging for inputConnection events
Bug: 6188932
Change-Id: I596df68956abd879293cfb550e66e7d7d0ba74e9
2012-04-17 20:05:10 -07: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
69bcc15cb3 Add SubtypeUtils.setAditionalInputMethodSubtypes method
Change-Id: Ia3043346ed87297e01d505980555fdf29ce4f96f
2012-04-17 22:48:00 +09:00
Kurt Partridge
9bfb620215 add logPoint for manual correction (inc touch pos)
Bug: 6188932
Change-Id: Ibcc4901bcfab6632ee4c59cb58d35452218a288d
2012-04-16 16:52:25 -07:00
Tom Ouyang
a7352c8df4 Merge "Add a new binary contacts dictionary based on ExpandableBinaryDictionary and use locale for bigrams." 2012-04-13 18:30:19 -07:00
Tom Ouyang
18222f8c86 Add a new binary contacts dictionary based on ExpandableBinaryDictionary and use locale for bigrams.
Bug: 6188977
Change-Id: I753422eed1effaeb5fd01124cf1ddd1e31ee9d60
2012-04-13 17:54:39 -07:00
Kurt Partridge
2783c51e6d Merge "clean up researchLogging of autocorrection" 2012-04-13 10:47:19 -07:00
Tadashi G. Takaoka
c206d04623 Use InputMethodSettingsFragment for IME settings
Change-Id: Id6d9cd0ddf99c0687b6d3ea4b2f868f6cf2a0eaf
2012-04-13 19:56:47 +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
Kurt Partridge
60adb87574 clean up researchLogging of autocorrection
remove dependence of ResearchLogger on LatinImeLogger
for autocorrection

multi-project commit with I32cc134b

Bug: 6188932
Change-Id: Iaeda97eb43fa4782db2d1b2a6d8d09a93b395111
2012-04-12 22:59:21 -07:00
satok
cf6b2099be Add isDictionaryAvailable to SubtypeSwitcher
Change-Id: I534878d330b57bbfaa8b7711082456969771f4dc
2012-04-12 19:46:02 +09:00
Jean Chalard
e6269759d6 Read the dictionary resource in a more sensical place.
We don't need to pass this down all the way from LatinIME any more.
It fetched be done exactly where it needs to be.

Change-Id: I9f277f9c4f9de70ae755a1334d86c67bbb24c988
2012-04-11 21:03:21 +09:00
Tadashi G. Takaoka
78ab80844b Add language suffix to main dictionary
Bug: 6319377
Change-Id: Ie6a887fefa12e33c17bfeb5d22984e7c1a7bdb46
2012-04-11 16:11:34 +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
11d9ee742f Use keyboardSet extra value of subtype to specify layout type
Change-Id: Ice1f345a08a8d760e3b847c885c4072e3e142c97
2012-04-05 17:25:15 +09:00
Tadashi G. Takaoka
cb389ef0d6 Refactor to utilize InputMethodSubtype
Change-Id: I76fbc8a395eb8dab996c02c86d7328f07865f8cf
2012-04-05 12:27:27 +09:00
Tadashi G. Takaoka
d2c5533fd9 Merge "Add RunInLocale class to guard locale switching" 2012-04-03 01:53:05 -07:00
Tadashi G. Takaoka
16c6f35570 Add RunInLocale class to guard locale switching
Bug: 6128216
Change-Id: I8d9c75c773c3de886183b291ada7a3836295839b
2012-04-03 17:43:45 +09:00
Tadashi G. Takaoka
8f433a66b2 Fix typo
Follow up for I5b9964f2
Bug: 6129704

Change-Id: Ia90c013cf4c4e6f675da5701644bd10833898c3f
2012-04-03 17:27:51 +09:00
Tadashi G. Takaoka
0d1a5d5b97 Cleanup EditorInfoCompatUtils
Bug: 6129704
Change-Id: I5b9964f2ad52e7cd60c63acca93d0241a1e729ef
2012-04-03 16:45:36 +09:00
Tadashi G. Takaoka
13d6ecc4c2 Remove InputMethodServiceCompatWrapper
Bug: 6129704
Change-Id: I76f2854e27623be940a711d0d48fd3f90132141c
2012-04-03 16:02:09 +09:00
Tadashi G. Takaoka
9cc2c94c8b Remove InputMethodSubtypeCompatWrapper
Bug: 6129704
Change-Id: I8f84f0f61a2205ac1fcd1cd40e3a586ee535282d
2012-04-03 15:31:26 +09:00
satok
7e518d8b83 Combine candidate words and scores
Bug: 5240798
Change-Id: Ie56c1c2cfd7f365e771fee88c1ed15012448feed
2012-04-02 18:39:24 +09:00
Ken Wakasa
96fdc4dd84 Remove InputConnectionCompatUtils
Also, small cleanup in proguard.flags

bug: 6129704
Change-Id: If4cc694dbe74b26b1d0da301bbc321ee7afc0211
2012-03-31 19:04:38 +09:00
Ken Wakasa
911b8f9d19 Remove the "deprecated" classes
bug: 6129704
Change-Id: Ib27f2774444e1f084b19be3fe6f56d25dffa7084
2012-03-30 16:20:56 +09:00
Kurt Partridge
347fcab043 improve ResearchLogger performance
also demonstrate proposed logpoint invocation

Bug: 6188932
Change-Id: Ib6a7a196fe2e5f8184d26d1e0e3e91b404454112
2012-03-29 15:37:41 -07:00
Tadashi G. Takaoka
20b4c223b4 Merge "Fix some obvious compiler warnings" 2012-03-29 00:18:36 -07:00
Tadashi G. Takaoka
8dcad2ed47 Don't send touch coordinates if proximity characters correction is disabled
Bug: 6225317
Change-Id: I4fa65e020d838f53066d4a071f58fb6f40583e0b
2012-03-29 16:11:54 +09:00
Tadashi G. Takaoka
c61cd79229 Fix some obvious compiler warnings
Change-Id: I10a634f7492b45d5a72345f14d36cf341946387d
2012-03-29 15:07:53 +09:00
Tadashi G. Takaoka
e07db71d26 Remove SupportTouchPositionCorrection from subtype extra value
Change-Id: Ieedff9ec212f5567405ca276b0f2194132ba7b0c
2012-03-28 19:45:28 +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
Jean Chalard
a77bbc64f0 Merge "Correct a shaky processing and move it to a better place" 2012-03-25 17:57:49 -07: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
fce9ca4202 Merge "Remove verbose debug message" 2012-03-23 06:25:13 -07:00
Tadashi G. Takaoka
61f24842c7 Remove verbose debug message
Change-Id: I05bfe24228a6fbe806987d2a0d81e59611c3b476
2012-03-23 22:23:56 +09:00
Jean Chalard
71f9d30b18 Correct a shaky processing and move it to a better place
The old code would remove caps from the first letter if
auto-capsed but that makes very little sense when the word
is camel-cased. Also, it would not correctly handle
surrogate pairs, and would require a direct reference to
LatinIME and a specific method to do the processing in an
unexpected place.

Change-Id: I416d6a805242788a2473f007ca7452c9fe3f5205
2012-03-23 21:40:07 +09:00
Jean Chalard
3ee7d97587 Optimization and typo fix
Change-Id: Iafa414b8bcf2cca4569b3753bfac58f301a72269
2012-03-23 21:29:30 +09:00
Jean Chalard
e7cfe43652 Merge "Don't rely on spell checker proximity in tests" 2012-03-22 02:15:29 -07:00
Jean Chalard
109728193e Don't rely on spell checker proximity in tests
This fixes the input logic tests that were broken and suppresses
their dependency upon the spell checker proximity. Instead, it
gets the Keyboard instance from Latin IME and uses the actual
coordinates, which results in a test run closer to what actually
happens during typing.

Change-Id: I3a81d249ee7fb3ac6ae6940aa2e8b2421e829e5c
2012-03-22 18:08:23 +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
140467b8b6 Updated logger to record touch position within backspace key events.
Bug: 6188932
Change-Id: Ida2aff618153792f9803f30f1251d67c89af1fe0
2012-03-20 23:29:34 +09:00
Jean Chalard
9ffb94fa13 Rename the user history dictionary.
UserBigramDictionary -> UserHistoryDictionary.

Also update all methods, strings and comments, except those needed
for backward compatibility (which only include the name of the
database file).

Change-Id: I0bccea29880dc566b90100575b83baaa947b03ae
2012-03-19 12:03:51 +09:00
Ken Wakasa
660776e09b Small performance improvement by removing interface accesses.
Change-Id: I6d91f3b086470b79306dbe2874db9748b9e0eb5f
2012-03-17 01:53:51 +09:00
Jean Chalard
c68d1bbfaf Move the UserUnigramDictionary functionality over
UserBigramDictionary now assumes both functionalities. It will
be renamed to UserHistoryDictionary in a future change.

There are several reasons to do this. First, there is a lot of
duplicate code in User{Unigram,Bigram}Dictionaries that are
factored by the few lines of code in this change. Also, other
dictionaries like BinaryDictionary or ContactsDictionary all
assume both responsibilities, as should be the case
theoretically.

It is also possible to do this because previous versions don't
write any unigram data that we'd want to reuse. For even older
versions that do write data, we can't really make any sense out
of it. Bigram data however can be useful, and this allows us to
reuse it easily.

Change-Id: I755525f92744e1536eaef097527e8151b7859a30
2012-03-16 17:01:57 +09:00
Jean Chalard
c24f66e180 Streamline some user history dictionary code
A lot of things don't really make sense in the old code.
Let's streamline it for now so that we have a cleaner interface
to work with. This is preliminary work for bug 4192129.

Change-Id: If01a5974cfadc43afced610c57fcf7fde67c1346
2012-03-16 12:22:39 +09:00
Jean Chalard
3fe263fac6 Extract an annoying method call
Change-Id: I78f22bb38222fea54a55e460fcf728bf941d15e9
2012-03-15 19:30:15 +09:00
Jean Chalard
6ec1209a33 Fix a bug where quotes and dashes are considered letters
Bug: 6174065
Change-Id: I702760d44ead0eeb60d06360aa3bb03c2ec73325
2012-03-15 18:18:52 +09:00
Jean Chalard
2be7a37acf Small cleanup
Exit-fast, update comment, make a method private

Change-Id: Id103bf03aeef43a1a4d064ecabb819490dc5d39a
2012-03-15 15:54:25 +09:00
Jean Chalard
03a3517075 Add info for obsolete suggestions in SuggestedWords
Change-Id: I9684c7b08244b34853ce8a99b6e9d885389f6687
2012-03-15 13:12:08 +09:00
Jean Chalard
f985efe39c Remove a useless parameter
Change-Id: I03005240238fb004c20b2df0d836796e2e8b307f
2012-03-14 18:12:12 +09:00
Jean Chalard
bdf6d1b18b Remove a useless method
Change-Id: I208dd2e725e37c2fb3cd51fe48194679e5912f6b
2012-03-14 15:59:04 +09:00
Jean Chalard
7d55c891af Make the Builder private
Change-Id: I2184084f4b7729c4324f8291d548bd4c4c2872a1
2012-03-14 15:42:14 +09:00
Jean Chalard
5b0643f50d Re-sequence the last calls to build()
Change-Id: If77ee5aa9483d3ca03c52812f31665dee6468e99
2012-03-14 14:19:24 +09:00
Jean Chalard
88bf1ba526 Move up the static methods of the Builder
Change-Id: Ic3e07b745b7b24cae0f772ea49e0de615b44caf9
2012-03-14 13:10:22 +09:00
Jean Chalard
8e19b1183e Kill the last place where the Builder was being used
I had missed that one

Change-Id: I9a5040a7a61e294396aa424de96a69dbb15f037a
2012-03-14 13:10:12 +09:00
Jean Chalard
e3afb7d192 Make the Builder fully immutable at last
Change-Id: Ie399ca7a9e76ccab44a92bc378d11f92392fed2c
2012-03-13 20:33:13 +09:00
Jean Chalard
ec471c72f8 Add to SuggestedWords a missing parameter, and use it.
Also stop using Builder between its creation and the call to
the #build() method.

Change-Id: Ie1fc3ec7b6f4c7c3789f672f4e26b4bf58c3e062
2012-03-13 20:19:21 +09:00
Jean Chalard
2e2519ee91 Make still more members of the Builder final.
Change-Id: Ic455f97247da5e40d4939555ab639ecffef36e2d
2012-03-13 20:05:00 +09:00
Jean Chalard
b5eeb724fc Make some more Builder attributes final.
Change-Id: I3132b7fe4ee97c566736bfc21c3783cfc79fc7ff
2012-03-13 19:53:38 +09:00
Jean Chalard
c60fea852d Make the suggested word list final in Builder.
Change-Id: I2ddfab00dc8c141fc989a051f16eb2b3571b7e86
2012-03-13 19:37:17 +09:00
Jean Chalard
674ffcdf93 Make an add into a set.
This method now only sets words, so it should be named set.
The functionality is identical since there are no more places
where the list is reused.
This will also allow to make the list final in an upcoming change.

Change-Id: I25b0c7d7f13c3fa5d89806f01f48f1026769603f
2012-03-13 19:07:42 +09:00
Jean Chalard
4ee186920e Remove a method that causes annoying side-effects.
...and replace by a call to a central method.

Change-Id: I93d0a2c2e99963a5b69923d1062d0e01853216b6
2012-03-13 18:22:49 +09:00
Jean Chalard
d0d4074392 Remove a useless parameter.
Change-Id: I7625bf17158c207ad7e8cd496bef825704173c4c
2012-03-13 15:34:06 +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
Jean Chalard
1dfef0336d Make a method static
Change-Id: Ie1d460562d38105abe91ae2da17cafd49e2cd394
2012-03-12 15:00:36 +09:00
Ken Wakasa
c1ca8815f5 Fix an obvious bug in handleLanguageSwitchKey()
bug: 5759092

Change-Id: I8c7b2ef024cbab399d96f6b3ec553da4e9d2fb18
2012-03-11 00:44:47 +09:00
Jean Chalard
68823ae08e Make the safety net memory private
Change-Id: I10959d47c980d2e8f2ea995955acf02193e3ff7b
2012-03-09 22:01:15 +09:00
Jean Chalard
d5f618e90a Remove a useless test
If we are not composing a word here, we have already returned

Change-Id: I63281abace777e3658286d4df6781d2cd5a29c33
2012-03-09 20:53:45 +09:00
Jean Chalard
c5d2bb786e Don't use an intermediate object with a different meaning
Change-Id: Ie89916b49c852a51385ffd61cb596a58f23a46a0
2012-03-09 20:51:33 +09:00
Jean Chalard
ed9986824e Move some auto-correction logic to where it belongs
Change-Id: I897c5ec3a630a4a6bfc593906df4d3fc7b244482
2012-03-09 20:45:37 +09:00
Jean Chalard
dfd4abe818 Fix a shameful bug
I must have been sleeping when I wrote that

Change-Id: I887180ab610785a2000636adeeed99230b3c5390
2012-03-09 19:31:35 +09:00
Jean Chalard
0cf422fbb7 Reduction, step 8
Change-Id: I54334039597e235e24f169e34c1d44109180ee88
2012-03-09 19:00:29 +09:00
Jean Chalard
a333ff19ef Reduction, step 7
Change-Id: I177ef2f29c8b6000c5e3d021c016c5d216fe3fc6
2012-03-09 18:59:20 +09:00
Jean Chalard
a3ee019331 Reduction, step 6
Change-Id: I22ad4cea0e0cac23813da7e788f5c94974ce0ebf
2012-03-09 18:58:01 +09:00
Jean Chalard
de165aed2a Separate bigram prediction from suggestion process
Change-Id: Ibdef206fbd6688a45cebbd7fb8a9f6cd175d03b0
2012-03-09 18:38:20 +09:00
Jean Chalard
6f722c8301 Remove useless stuff
Change-Id: I462d24da2d26661990d6aab2a13fde851763fd61
2012-03-09 18:36:52 +09:00
Jean Chalard
67af2a2415 Export some more logic out of Latin IME
Change-Id: Ib264533a05e9e09347bf254789e6ab5beec92400
2012-03-09 18:36:49 +09:00
Jean Chalard
df9fce5df1 Export some logic out of LatinIME
Hopefully that will end in Suggest/SuggestedWords being autonomous
and won't need the logic spoon-fed to them

Change-Id: I915661bce13c69c8a5b8e5d4a8c41e18fea594cf
2012-03-09 18:36:45 +09:00
Jean Chalard
91e55ac000 Small optimization
We only use some of those results in one branch of an if() test.
Let's not compute those that are not needed.

Change-Id: I6ca068646b86d2980fb88e75b110ad077362c4ff
2012-03-09 16:47:43 +09:00
Jean Chalard
195419b1ec Small reorganization
...resulting in a slight optimization

Change-Id: I83a9b8c92c3d93ce75988285997ec138b3ffe52e
2012-03-09 16:41:35 +09:00
Jean Chalard
838629aea0 Remove useless test
typedWord may not be null here

Change-Id: I9e7afb89fafbf6fcbc91fbc132aecc06aec8979f
2012-03-09 15:52:23 +09:00
Jean Chalard
5a7cb9305a Merge "Remove a provably useless test (B4)" 2012-03-08 22:22:20 -08:00
Jean Chalard
31a5da28e3 Merge "Move some code around (B1)" 2012-03-08 21:15:25 -08:00
Jean Chalard
8cd847c2fa Remove a provably useless test (B4)
If !mInputAttributes.mInputTypeNoAutoCorrect then mCorrectionMode
will not have allowed #hasAutoCorrection() to return true.

Change-Id: I1b498d5aeb26194c765cc9b9dcb24d980de43894
2012-03-09 12:56:48 +09:00
Jean Chalard
dc5dfe37e0 Move some code around (B1)
The goal is to make the creation of the Builder closer to
the #build() call

Change-Id: I48d76d4efdc180479829016582edd9de47e7332c
2012-03-09 12:33:23 +09:00
Jean Chalard
13fb8fb775 Limit escape of parameters
Change-Id: I3a7ab069042d5542ab2e033d1eeb13d718cd7698
2012-03-09 12:30:23 +09:00
Jean Chalard
21af2f40c5 Merge broadcast receivers again
It's probably simpler not to have registers dance around,
and just message the feedback manager when the audio event
happens.

Change-Id: Id0710ed102d10d01f1af93ad8cb660653bb3a9f8
2012-03-09 11:00:23 +09:00
Jean Chalard
7b77c683d7 Fix a crash
Bug: 6137076
Change-Id: I05f9f72a2678d10d3400dab5fc71544276739dcf
2012-03-09 10:29:51 +09:00
Tadashi G. Takaoka
f686211183 Merge "Split Utils class to StringUtils, SubtypeUtils, and JniUtils" 2012-03-08 03:59:59 -08:00
Tadashi G. Takaoka
cc8c8b99bd Split Utils class to StringUtils, SubtypeUtils, and JniUtils
Change-Id: I09e91675fe7d573dad8c933ad513b21d7e409144
2012-03-08 20:30:38 +09:00
Jean Chalard
0f1efae262 Merge "Cleanup unused imports (A7)" 2012-03-08 02:32:48 -08:00
Jean Chalard
663aabca0c Merge "Get the view for haptic feedback as a parameter (A6)" 2012-03-08 02:32:39 -08:00
Jean Chalard
7cfae83434 Merge "Export audio and haptic feedback to a specialized class. (A1)" 2012-03-08 02:31:45 -08:00
Jean Chalard
8667bbeab3 Small rename
Left/Right is wrong terminology here

Change-Id: I58c55849e45d9984dd3fb7b75a64e07667c9eba4
2012-03-08 18:49:38 +09:00
Jean Chalard
41a2929282 Cleanup unused imports (A7)
Change-Id: I48ba12e4311cbf2982ee8f5312b279bc8c1fdfe8
2012-03-08 18:37:03 +09:00
Jean Chalard
544c3c2952 Get the view for haptic feedback as a parameter (A6)
It's rather annoying (and possibly dangerous) to keep this as a member.
Get it from outside.

Change-Id: I00c42db96395fb65204fb140aeedc82bf312a86e
2012-03-08 18:37:00 +09:00
Jean Chalard
564496bad6 Export audio and haptic feedback to a specialized class. (A1)
Change-Id: I957d883d1ccf188cb98eb11031aa0a32fce4ed76
2012-03-08 18:35:20 +09:00
Jean Chalard
f8b39f39cd Merge "Remove a useless class (B4)" 2012-03-08 01:14:33 -08:00
Jean Chalard
4b656a3fef Merge "Remove stuff that's not used any more (B3)" 2012-03-08 01:13:06 -08:00
Jean Chalard
d8447ec353 Merge "Use the simple auto-correction status (B2)" 2012-03-08 01:12:46 -08:00
Jean Chalard
fbe767cec5 Merge "Remember auto-correction status simply (B1)" 2012-03-08 00:54:30 -08:00
Tadashi G. Takaoka
c648b88779 Merge "Dynamically determine key preview backing view height" 2012-03-07 04:17:52 -08:00
Tadashi G. Takaoka
c8b0e5797e Dynamically determine key preview backing view height
Bug: 6023947
Change-Id: I53a5c0eb99100a0dfe3e025808f5dc55747d1287
2012-03-07 20:33:17 +09:00
Jean Chalard
dab392c6f4 Merge "Fix a bug with successive manual picks" 2012-03-07 01:51:59 -08:00
Jean Chalard
3dd4bcb283 Merge "Recompute suggestions on language change." 2012-03-07 01:35:12 -08:00
Jean Chalard
b84ee82e66 Recompute suggestions on language change.
Bug: 6106407
Change-Id: I43d9c89610a9ed7a9f6825bd90334d7b343df52c
2012-03-07 17:35:32 +09:00
Jean Chalard
845b24d9d3 Fix a bug with successive manual picks
Bug: 6121571
Change-Id: Ib16fbef1087da3b7da5539901ec57156f242f089
2012-03-07 17:32:42 +09:00
Jean Chalard
f773ef19e8 Remove a useless class (B4)
\o/

Bug: 5975068
Change-Id: Ia18b55af6d555e7ee7af1cdd7c6227fc1ee6786b
2012-03-07 15:34:15 +09:00
Jean Chalard
a0beebf711 Remove stuff that's not used any more (B3)
Change-Id: Ie86675ff2facd37430051bf129ddd930fb933dc9
2012-03-07 15:32:55 +09:00
Jean Chalard
0a59ac2ba8 Use the simple auto-correction status (B2)
Change-Id: I9d2f053b6f7bad20fc6afe5f5086a965e5014a5c
2012-03-07 15:31:22 +09:00
Jean Chalard
70852c91dc Remember auto-correction status simply (B1)
This duplicates the functionality in ComposingStateManager at
a fraction of the cost. It's not used yet.

Change-Id: Ica2607fb2f7c41e11189fcb566e253db8f62596f
2012-03-07 15:20:01 +09:00
Tadashi G. Takaoka
65fe7f7994 Merge "Add language switch key only to the phone layouts" 2012-03-06 18:19:45 -08: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
Jean Chalard
89ffb212b4 Make the keyboardswitcher and the subtypeswitcher final.
Change-Id: Ifcc79357adcc53f93b190b6e98d5569f42f74655
2012-03-06 19:07:21 +09:00
Jean Chalard
3cd1a00eca Resolve a todo
This exports some voiceproxy complexity to voiceproxy rather
than keeping it in latinime

Change-Id: I0b3523e77af4104cc3ed28417956059c734c8bfe
2012-03-06 18:43:18 +09:00
satok
231ef8fa3e Merge "Integrate the logic to calculate the proximities" 2012-03-05 23:25:29 -08:00
satok
ca7ec2097c Integrate the logic to calculate the proximities
Bug: 4343280

Change-Id: I0f6a7e6912ed4abea07c10d266da4c7ccb0dae76
2012-03-06 15:34:27 +09:00
Jean Chalard
00ed3be95c Correct special space handling of punctuation
This fixes two defects:
- One where some separators should promote a phantom space to
a real space. This bug had a unit test but wasn't tracked.
- One where French punctuations would behave incorrectly. Tracked
Bug: 6113693

Change-Id: Ia7f86fc960e00141757632ab2c9bce9168dd6966
2012-03-06 14:00:34 +09:00
Tadashi G. Takaoka
e79b1a8312 Make SuggestedWords immutable completely
Change-Id: I1b0f7b857e89307c987187c1969a2846aa97fdcc
2012-03-05 23:06:37 +09:00
Tadashi G. Takaoka
8cc8f26adf Make SuggestedWords partially immutable
Change-Id: I72a2f71d7f6565a30c06e563b0a64f496542cde9
2012-03-05 22:11:13 +09:00
Tadashi Takaoka
d5b6360549 Merge "Revert "Make SuggestedWords immutable"" 2012-03-05 02:57:00 -08:00
Tadashi Takaoka
d62fa834c6 Revert "Make SuggestedWords immutable"
This reverts commit c208f4dfb7
2012-03-05 02:54:21 -08:00
Jean Chalard
6a830277df Merge "Refactoring" 2012-03-05 01:49:46 -08:00
Jean Chalard
611a5bdf65 Refactoring
Change-Id: I2f92c01fa1ff6b318128d387f26942b5d47de3e0
2012-03-05 18:36:51 +09:00
Tadashi G. Takaoka
c208f4dfb7 Make SuggestedWords immutable
Change-Id: I26bd82aee5ead84e40abfc3db5a48ed6d1e42361
2012-03-05 17:24:30 +09:00
Jean Chalard
895b70b8af Move some treatment to a more sensical place.
It makes more sense to catch words with the safety net in
updateSuggestions() than in showSuggestions(). Also, it's useless
to do it in updateBigramPredictions, because the result will
always be provably false.
This will also help with writing unit tests.

Change-Id: Ifab81e6c5a74b1aa75cf85ef7742fee69a98f5ce
2012-03-05 14:27:49 +09:00
Jean Chalard
9b01890254 Move a method to a more sensical place.
Change-Id: I11f87448f689cf828bff960ad7a3e4739a3457dc
2012-03-05 14:19:35 +09:00
Jean Chalard
428178aca6 Merge "Replace a useless computation with a constant" 2012-03-04 19:35:11 -08:00
Jean Chalard
4ab5486bf2 Merge "Remove a useless test" 2012-03-04 19:35:02 -08:00
Jean Chalard
4e112d0782 Replace a useless computation with a constant
This is provably always false

Change-Id: I88d783fa59fec0b7a729558ba974a6a58c158645
2012-03-05 11:57:36 +09:00
Jean Chalard
a04d2358c0 Remove a useless test
With the current logic, this test provably always resolves
to false.

Change-Id: Iba84ef5f3a14cd8ac48c6a813519ab283bf605f8
2012-03-05 11:38:45 +09:00
Tadashi G. Takaoka
49079df8ec Merge "Omit InputMethodManagerCompatWrapper argument from some utility methods" 2012-03-04 18:12:47 -08:00
Tadashi G. Takaoka
2d25ba2750 Omit InputMethodManagerCompatWrapper argument from some utility methods
Change-Id: Ic837018c702c8c575de3e5e81fe8e31fee16fe22
2012-03-05 10:43:12 +09:00
Jean Chalard
a83a53ba24 Some renaming
Change-Id: I445277cb3af469a0145a8da0ffb801b7e19048cd
2012-03-02 20:46:54 +09:00
Jean Chalard
dd931c47be Some more simplification
I wish "are we autocorrecting?" was not computed in a dozen
places all depending on a hundred code paths
More than likely, this fixes very subtle discrepancies
between auto-correction indicator with the underline and with
the LED on the spacebar - which is not displayed any more in
the current version anyway. Especially, the LED probably
would have been off when the word was caught by the safety net.

Change-Id: Idda3021771081d6155b06915e728ecd64d9e042e
2012-03-02 20:34:10 +09:00
Jean Chalard
e2a50bd804 Optimization
Avoid doing some useless processing.

Change-Id: I4ce0a188e10db30322bd25751dc5c09492cea301
2012-03-02 20:26:51 +09:00
Jean Chalard
7204eab3da Precompute two values that never change
Change-Id: Ic54e7926028ea8374564da5e5004d710f42c53e1
2012-03-02 20:04:42 +09:00
Jean Chalard
38e535e596 Change a parameter type to make a call clearer
Change-Id: I2918d0a8b00da743689b919f80128bbf36973f24
2012-03-02 20:01:34 +09:00
Jean Chalard
5bc2b61274 Move a method up a level
Change-Id: I6b9a697480127e4745698ab19f8a360b86ff39ca
2012-03-02 19:59:55 +09:00
Jean Chalard
d02783cb63 Break out a method
Change-Id: Ia14fc320422b7f198c33ba522bb93dd70fbcb2c1
2012-03-02 19:52:06 +09:00
Jean Chalard
d992fa847d Small refactor (A1)
Change-Id: Ia0838bbce47a2b60067f464685ad6d55ee4ec934
2012-03-02 18:55:04 +09:00
Jean Chalard
fa12acb8b7 Change a dangerous ID
The message id 0 is used intrinsically by the framework
for all messages without a specific ID. Using 0 here
we can't reliably use the post(Runnable) method on our
handler, because these would in *some* respects be taken
for update_suggestion messages, but not all.
For example, they'd be removed on removeMessage() but
they would not trigger the actual process. This would
lead to utter confusion.

Change-Id: I5d9b01d38e2ff090cd0d80c27421dc8a41c317b8
2012-03-01 19:05:51 +09:00
Jean Chalard
5935950d44 Rename cancelCommit to revertCommit
This wording is easier to understand, and it matches the other
revert* functions.

Change-Id: Ibc2ec79fb5a0f9bf508e5cdeb75e54abd9241d0c
2012-02-22 01:09:23 -08:00
Jean Chalard
4fef31510d Remove a useless code path (A7)
This is never called any more, since we now use the cancelCommit
path to react to a backspace after a manual pick.
This concludes the run of changes to implement feature
request #5968922

Change-Id: I23df653bb2a3de2ba0152394d5d616a42ac7519b
2012-02-22 01:05:36 -08:00
Jean Chalard
bdf89ce5fe Rename cancelAutoCorrect to cancelCommit (A6)
Also remove a test in debug mode that would check for absence of
a situation which is now expected.

Change-Id: Ia5be350bc98a604b3bf8f6057652c5534f6a19af
2012-02-22 00:59:01 -08:00
Jean Chalard
2aa16dd81f Merge "Activate the code to cancel a manual pick (A5)" 2012-02-22 00:50:13 -08:00
Jean Chalard
80c25df49d Merge "Implement cancelling a manual pick (A4)" 2012-02-22 00:29:23 -08:00
Jean Chalard
8db74d0fae Merge "Use the stored separator instead of reading it back (A3)" 2012-02-22 00:24:19 -08:00
Jean Chalard
9271b770e8 Activate the code to cancel a manual pick (A5)
This finally makes active the behavior described in
Bug: 5968922

Change-Id: I363ed23270c3dea75411ea806011225097b5d07c
2012-02-22 00:05:19 -08:00
Jean Chalard
32f0af1fc4 Implement cancelling a manual pick (A4)
This is new code, but simple code. The new code path is never
used for now, but it will be in an upcoming change. This serves
to implement feature request #5968922

Change-Id: I3e67731ec6e9fc0b86c5cbd972e9c081781c11a9
2012-02-22 00:00:51 -08:00
Jean Chalard
193d23f40e Use the stored separator instead of reading it back (A3)
Now that we have stored our committing separator, we can use
it directly instead of reading it back from the text view
paying the IPC cost. This prepares for feature request #5968922.

Change-Id: Ifeaa2d659cf12b91c89d28e6ff7d07a669258184
2012-02-21 23:56:36 -08:00
Jean Chalard
e043bf02f2 Merge "Give LastComposedWord knowledge of the separator (A2)" 2012-02-21 23:42:21 -08:00
Jean Chalard
1dfdc8056c Merge "Give LastComposedWord knowledge of the committed word (A1)" 2012-02-21 23:41:42 -08:00
Jean Chalard
66bb563535 Give LastComposedWord knowledge of the separator (A2)
This stores the separator that was used to commit the word in
the LastComposedWord. It may be NOT_A_SEPARATOR if there was
no separator (for example, the cursor moved causing a commit,
or there was a manual pick). This is necessary to implement
feature request #5968922.

Change-Id: I5fcf19a78ec66d68d4df89418eaef13952588207
2012-02-21 23:33:58 -08:00
Jean Chalard
cf9d92629c Give LastComposedWord knowledge of the committed word (A1)
There is no point storing the prospective autocorrect - we are
recomputing it anyway. The committed word however will be necessary
to implement feature request #5968922.

Change-Id: I588c18e1a5a1050a791d601de465f421ccbe36cd
2012-02-21 23:12:21 -08:00
Tadashi G. Takaoka
1b3c16c183 Merge "Add next/prev navigate action more keys and remove tab key" 2012-02-21 23:09:58 -08:00
Tadashi G. Takaoka
05bfd189a8 Add next/prev navigate action more keys and remove tab key
Bug: 6037537
Bug: 5961814
Change-Id: I9c6dedf953452a180fcd5bce7bfadfd3c821f224
2012-02-21 22:50:50 -08:00
Jean Chalard
5262fe8832 Dismiss the hint on a non-word-starting non-separator
This would happen when a character is not a separator but is not
a word starter. Such characters include single quote and
dollar, and others non-letter, non-separator chars.
We set the bigram predictions if any - if not so configured, this
will fallback on setting back punctuations into the strip.

Bug: 6010408
Change-Id: Id203bbe87f8c13de0d5027b555c9067c7ec98f92
2012-02-21 21:16:18 -08:00
Jean Chalard
b141c9cd3f Rename resources to reflect current usage
Bug: 6010403
Change-Id: Ia02ff31007296fdf6901504f238dfd9e4621f658
2012-02-21 18:54:44 -08:00
Jean Chalard
8a3d369840 Remove a useles parens
...I could swear I had compiled :/

Change-Id: I4e1fb2b1dda0a4ceffe2082935395d05297c63ec
2012-02-21 16:53:05 -08:00
Jean Chalard
9a2a11e65b Rewrite a condition
Change-Id: I805c9579788d99b015feb2075ad4771756c7adc5
2012-02-21 15:46:53 -08:00
Jean Chalard
2649e42d75 Extract a method to reset the ime state
Change-Id: I921184b85b94418cf360508ee3f67e85b10b3d72
2012-02-21 15:12:01 -08:00
Jean Chalard
5eeff7cf54 Converge paths of an if() branch
This is to help with further refactoring.

Change-Id: Ib2459903862570cf7022fd90f2d5c524a6bbbe19
2012-02-19 18:02:40 -08:00
Jean Chalard
1044539080 Rename variables and add comments
Change-Id: I746f2364d9f02f22aa6ab57d7060013ee114f4e3
2012-02-19 17:26:41 -08:00
Jean Chalard
1fead1d5f1 Read the initial selection value.
It turns out this was available in an unexpected place.
Fixes both the following bugs
Bug: 5948469
Bug: 6023118

Change-Id: Ie1a91b8268540ea0f0df02bee94c3bbdeb0fa4c5
2012-02-17 20:54:48 -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
Charles Chen
4baf767fac Merge "Improved shift key and symbol/alpha switch key accessibility feedback." 2012-02-09 15:33:40 -08:00
Jean Chalard
accd2a9f61 Merge "Add finals" 2012-02-08 19:08:09 -08:00
Jean Chalard
a828f613a8 Merge "Some more simplification" 2012-02-08 19:05:46 -08:00
Jean Chalard
8ff0564f6a Add finals
Change-Id: Ib81be9a0df34c5e9fc49d2b5d9bf02297ea2b499
2012-02-09 11:40:54 +09:00
Jean Chalard
6a800b253f Some more simplification
Remove useless method calls, and ultimately remove useless
method.

Change-Id: I3f353b1b37460d5e9ceae5cb5dde3fff0da81c21
2012-02-09 11:38:03 +09:00
Jean Chalard
4721427c7d Allow revert swap punctuation again
This may not be the best behavior, but it's the same as ICS.
Bug: 5981844

Change-Id: Ibb7798e2a315312310ed3be4e731d0fe1ac04456
2012-02-09 11:34:00 +09:00
Tadashi G. Takaoka
7a39bd4454 Shift+Smiley key will register newline character of textMultiLine
This change also
 * Honors the custom action label in EditorInfo.actionLabel.
 * Invokes InputConnection.performeEditorAction if action is specifed
   at EditorInfo.imeOptions or actionLabel/actionId.
 * Stops using InputMethodService.sendKeyChar. Implements
   sendKeyCodePoint instead.

Bug: 2498607
Bug: 5961809
Bug: 5368408
Change-Id: If4cd5eb3dacfc6b6a7ea434b0617c2438e06e42d
2012-02-08 19:31:35 +09:00
Jean Chalard
e771fc2f1a More simplification
A suggested punctuation is sure to be 1 character and a word separator,
so the isSuggestedPunctuation() test is redundant.

Change-Id: I3d31f0825f069f64d514682e46be62afdae25291
2012-02-08 18:17:51 +09:00
Jean Chalard
8174373a0e Merge "Remove a nested edition occurence" 2012-02-07 19:42:35 -08:00
Jean Chalard
5a6daf46cf Merge "Cleanup" 2012-02-07 19:42:26 -08:00
Jean Chalard
862f950da3 Cleanup
Remove a useless test (we can only come here if the code
is not a separator, as we are only called from onCodeInput
inside an explicit test).

Change-Id: Icd996a5a1c18a550117a144a1d35f167b96211f7
2012-02-08 12:06:18 +09:00
Jean Chalard
2124bc5bf5 Remove a nested edition occurence
This was harmless but confusing

Change-Id: Ic271f80d3dadf01b29e3875c6a8ad51b99a936f9
2012-02-08 12:03:55 +09:00
Jean Chalard
2e2d6b4d40 Small simplification
Change-Id: I55f81f3ab427fd5b28bb1f31960077cd1897cbd0
2012-02-08 11:41:15 +09:00
Jean Chalard
1b986cc488 Merge "Fix a bug with manual pick then dotcom key" 2012-02-07 16:59:47 -08:00
alanv
8d4f0d5d1d Improved shift key and symbol/alpha switch key accessibility feedback.
Bug: 5933165
Change-Id: Id71f38874640785b7ad43b7a70e27f40c13be748
2012-02-07 13:14:18 -08:00
Tadashi G. Takaoka
69f672a4b3 Merge "Remove unused InputConnection argument" 2012-02-07 04:15:07 -08:00
Jean Chalard
12d67e6d5d Fix a bug with manual pick then dotcom key
Inhibit adding phantom space for tld keys even if the last
character inserted in the textview is not a dot

Change-Id: Ie92554ead7a18c932480905c5738aff7c0159a32
2012-02-07 20:36:48 +09:00
Tadashi G. Takaoka
64eaa67eb5 Remove unused InputConnection argument
Change-Id: Ic45c8c6e7730775654317fb6e2d1cb64f9031f46
2012-02-07 19:38:06 +09:00
Jean Chalard
cfec7e72fd Merge "Fix a race condition that makes tests unstable" 2012-02-07 02:28:12 -08:00
Jean Chalard
816a8a0fd8 Fix a race condition that makes tests unstable
Change-Id: Ic19d380eb64855884bc6ded8547c200dd772ffe9
2012-02-07 19:22:37 +09:00
Jean Chalard
172a013ab5 Fix a bug with the auto-correct indicator
Bug: 5969106
Change-Id: I02d4b9184bb2c3fc0d08ffd5db77a9f9d816631f
2012-02-07 17:20:23 +09:00
Jean Chalard
a7f2500001 Fix a bug with common objects.
Bug: 5961179
Change-Id: I452efc552c6ab390931f25557d7aee5a64bf054e
2012-02-06 18:41:00 +09:00
Jean Chalard
fb684cebe8 Stop inserting a space after a manually picked word.
Bug: 4994861
Change-Id: I6ae256a94dbaddea4304304779d17025620c5025
2012-02-03 18:45:44 +09:00
Jean Chalard
51fd1632f5 Stop throwing an exception in some corner cases.
When the application is modifying the text under our feet,
we may come through this code path. We should log the error
rather than crash.

Bug: 5869235
Change-Id: Ic0fd24c3bc805d44c5db0ad781ddebeca0450614
2012-02-02 15:15:55 +09:00
Tadashi G. Takaoka
ff858c7ff5 Use MoreKeySpecParser to parse puctuations strip resources
This change also
  * Doesn't use Key.getRtlParenthesisCode to get correct parentheses
    code in RTL context. Intead uses the outputText feature of
    moreKeys specification.
  * Move CVS string parser from KeyStyles to Utils.

Bug: 5948247
Change-Id: I45752c7d01b4f7d3f3da900b110a2185b336a1f0
2012-02-01 19:33:26 +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
433ca6a46d Cleanup redundant methods of KeyboardSwitcher
Change-Id: I2ebeb8852177f6c6e30578d0bb3f372f488dc6c1
2012-01-31 17:18:14 +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
Jean Chalard
c7c152de4b Guard against wrong auto-correction cancellation (A6)
This deactivates the cancellation at each separator pressed while
not composing a word. The net effect is to fix
Bug: 5875776

Change-Id: I67aa3f842ddff250828c60596ad5a7e466c1ddaa
2012-01-26 19:57:37 +09:00
Jean Chalard
b6b8729374 Straighten out resuming suggestion on kept word (A5)
This is cleanup.
This also introduces a "deactivated" state to the last committed
word, that can be used for
Bug: 5875776

Change-Id: I1855adb8ac8123f6d2c5365b0ae899145e5c3ba1
2012-01-26 19:24:36 +09:00
Jean Chalard
2712f23acb Remove mCommittedWordSavedForSuggestionResuming (A4)
Change-Id: Ia62ef33b5c777a258b02280bda1b8368780a7eef
2012-01-26 18:36:28 +09:00
Jean Chalard
2692a87007 Move some functionality into LastComposedWord (A3)
Change-Id: Ie0ea02a061dd0cb84db5f33113ff433584636bc7
2012-01-26 18:25:08 +09:00
Jean Chalard
267563d1bb Add a class for previously composed data (A1)
Change-Id: I87498799e6a48b8fa65924a098bb0ceb7626dce1
2012-01-26 17:22:52 +09:00
Tadashi G. Takaoka
bd51aaf98f Merge "Warn deprecated privateImeOptions, "nm" and "forceAscii"" 2012-01-25 22:20:35 -08:00
Jean Chalard
051ac1ef14 Merge "Add a guard against OOB." 2012-01-25 21:22:18 -08:00
Jean Chalard
8be16f78b1 Add a guard against OOB.
...and avoid crashing in one case where the application may
change the text while we are typing.

Bug: 5685922
Change-Id: I4a22c63168986f43ac84f512aaa4267023d536e3
2012-01-26 14:17:48 +09:00
Tadashi G. Takaoka
4f5c3a2898 Warn deprecated privateImeOptions, "nm" and "forceAscii"
Public API EditorInfo.IME_FLAG_FORCE_ASCII has been supported by
I6665b483.

Change-Id: I0ffdee15d8177d126cd8fe86a6bc4ab21be58c36
2012-01-26 13:37:35 +09:00
Jean Chalard
fda847a870 Small cleanup
All calls to this method are done with the same parameter,
and it's really hard to understand if we call upon this
member inside.

Change-Id: I787664bb59053ab0fe666ed812fb12b2b9090918
2012-01-26 11:40:16 +09:00
Jean Chalard
0bfe359ee4 Add a test for auto-correction.
Fix two related subtle bugs:
- Stop singling out fat-finger-only corrections for rejection
  when touch coordinates are not available.
- Remove a racy check that would happen only in debug mode

Change-Id: Ic904f9b27c091ca6b369052c4e65a630bff81257
2012-01-25 19:29:40 +09:00
Jean Chalard
77da3d5a3b Fix a bug where backspace would not delete the selection
Bug: 5699301
Change-Id: I6c5a8470464d045349ac38e191c859b5c34cbeee
2012-01-24 18:07:23 +09:00
Jean Chalard
5fd11a7f33 Fix a typo
Change-Id: I358350c959d5610214a752b14d7744fe83eb3821
2012-01-24 11:58:07 +09:00
Jean Chalard
7c177e82af Merge "Fix a bug where a check would fail" 2012-01-20 01:16:44 -08:00
Jean Chalard
7546ff6e34 Fix a bug where a check would fail
Bug: 5894393
Change-Id: I810de58730f2cabcaf7b8dc1d85b3725f959094b
2012-01-20 18:09:59 +09:00
Jean Chalard
af9fe5c5fc Fix a bug where the user typed word would not be passed.
Bug: 5894271
Change-Id: I4f02ff322697159e08f5e898608c0aff11dacb2f
2012-01-20 15:39:06 +09:00
Jean Chalard
250cf0a781 Merge "Fix a bug with backspace happening after a manual pick." 2012-01-19 01:55:30 -08:00
Jean Chalard
3b2112e70a Fix a bug with backspace happening after a manual pick.
Bug: 5884397
Change-Id: I01f462075bcbf7da38e9af2084ecd37143923e8b
2012-01-19 18:41:02 +09:00
Jean Chalard
95a6e58ebc Small code simplification.
I'm pretty sure the test here was useless.

Change-Id: Iaece641fbd5455406533b19555f2b639759a525f
2012-01-19 18:03:45 +09:00
Tadashi G. Takaoka
5731b939c7 Remove KeyboardSwicther.toggleCapslock
Change-Id: Id613c06e2df770659095d78d42637aed063d0c70
2012-01-17 19:26:24 +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
c9fade6b87 Merge "Remove toggleShift and toggleAlphabetAndSymbols from KeyboardSwitcher" 2012-01-17 00:07:38 -08:00
Tadashi G. Takaoka
87e025da11 Remove toggleShift and toggleAlphabetAndSymbols from KeyboardSwitcher
Change-Id: I9bb8f78b0a766cd7937d5cbe1c1e5e35898b2997
2012-01-17 16:49:33 +09:00
Jean Chalard
d104a7aac8 Merge "Fix a bug where words disappear on inserting separators" 2012-01-16 23:22:03 -08:00
Jean Chalard
edc6395d9b Fix a bug where words disappear on inserting separators
The basic idea is that in some situations, we would restart
suggestions, but before evaluating them we would bail out
because suggestions were not requested. This would lead to
the "correction" set to null, so we would commit a null word.

This fix does two things:
- Do not restart suggestions when not requested.
- If we still end up with a composing word when suggestions
  are not requested, we select the typed word as the
  correct version.

Bug: 5846646
Change-Id: Ic35351841d0cb20afa99092ef681ecb7bd68bec6
2012-01-17 16:16:52 +09:00
Jean Chalard
aed5819a84 Merge "Fix a bug where suggestion would restart at a bad time" 2012-01-16 22:51:23 -08:00
Jean Chalard
fbd1ac8083 Fix a bug where suggestion would restart at a bad time
Bug: 5846646
Change-Id: I7c907d0a9478e0878b92ead94173caefc21b627b
2012-01-17 15:50:18 +09:00
Tadashi G. Takaoka
1ef6fc7e15 Support EditorInfo.IME_FLAG_FORCE_ASCII
Bug: 5850605
Change-Id: I6665b483f775094903f2e26f5584e4b141592ab5
2012-01-17 14:38:00 +09:00
Jean Chalard
a8ba49c253 Small cleanup
The method deleteWordAtCursor would call finishComposingText,
which is a very unexpected state change and would probably cause
surprising bugs to any parent that would call it.
As it happens, it's not used anywhere any more so let's just
remove it.

Change-Id: Iaa9200866e40b4e914f76baa987279948300679c
2012-01-17 11:55:23 +09:00
Jean Chalard
72d285f4d7 Add some comments about resuming auto-suggestion
Bug: 5846646
Change-Id: Ib2c76ec173972eb7acadbfaae7e930849d546721
2012-01-17 10:29:11 +09:00
Tadashi G. Takaoka
9751a626ec Don't cache resource value that depends on orientation
Bug: 5794655
Change-Id: Ib324366c772e20bb54aba63c2f4540dc0f9de515
2012-01-16 12:26:34 +09:00
Jean Chalard
ab34a4a7f5 Merge "Fix a bug where last candidate would not be reset" 2012-01-11 21:47:35 -08:00
Jean Chalard
a8c8ab1cb4 Remove an excessive parens
Change-Id: If8aa4253ab0f664e628ed7f4d7a3adc02a898cc7
2012-01-12 14:07:56 +09:00
Jean Chalard
9de5cfc67a Fix a crash where revertSwap would be wrongly called
This would crash the program when inputting a punctuation
symbol that should not swap with a weak space through the
suggestion strip, then press backspace.
Those include all two-part punctuation symbols in French for
example, as well as magic space strippers like the dash in
English. For English all suggestion strips symbols happen to
be magic space swappers so this would not happen in English
by default.
Also fix a typo.

Change-Id: Ia40678c264e978509b5786290a75a3c57181648e
2012-01-12 11:55:40 +09:00
Jean Chalard
cd2286fff1 Fix a bug where last candidate would not be reset
Bug: 5851148
Change-Id: Ic270318842d8e16bc62d78d5fe0d6be0ca1fb532
2012-01-12 11:16:51 +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
ee4be6e3c6 Call KeyboardState.onUpdateShiftState from onCodeInput if code is a normal letter
This will be helpful to write unit test code.

Change-Id: Ib61cc46ac547084e0dc9ecd3a50814fecf08ace2
2012-01-10 15:13:05 +09:00
Jean Chalard
0fd625bcfd Fix a bug with wrong auto-correct cancellation
Auto-correct cancellation would sometimes kick in at
wrong times, causing crashes.

Bug: 5784542
Change-Id: I68dd6b8d9237ce9b66af2dc63e77ba6dd5fd69dd
2011-12-21 19:28:02 +09:00
Jean Chalard
9e8761c440 Reorganize the auto-correction memory
Change-Id: I31cce9db471dcd4a7b3477bcb037a8ff482b7696
2011-12-19 17:33:15 +09:00
Tadashi G. Takaoka
3708787fe9 Remove LatinKeyboard class
Change-Id: I68c667b00dadf2ed9f1c62fb7da37d2cf499cd81
2011-12-18 19:10:42 +09:00
Tadashi G. Takaoka
4112dc0500 Move spacebar drawing code from LatinKeyboard to LatinKeyboardView
Also this change moves LatinKeyboard attributes,
autoCorrectionSpacebarLedEnabled, autoCorrectionSpacebarLedIcon,
spacebarTextRatio, spacebarTextColor, and spacebarTextShadowColor to
LatinKeyboardView.

Change-Id: I7cc27ce1fc550e9f620a9ed0fbe4b8172902d5a1
2011-12-18 19:07:12 +09:00
Tadashi G. Takaoka
22b48de11c Get rid of Key.needsSpecialPopupHint and related
Change-Id: I28e87ea3af9581f12094770b42f113e9018886c4
2011-12-18 16:08:28 +09:00
Jean Chalard
43c0a034bd Merge "Pretty print for InputAttributes" 2011-12-16 04:01:49 -08:00
Jean Chalard
4d0f03bd66 Remove a write-only variable.
Change-Id: I825307a429f46b31ed9bd940b5a97d2713127dfe
2011-12-16 20:54:58 +09:00
Jean Chalard
6fa003ee23 Pretty print for InputAttributes
Change-Id: I5e4b2b6f3cd943c8f6187aaed21d67ec786bf5df
2011-12-16 20:53:44 +09:00
Jean Chalard
2b2c0b574c Merge "Use the WordComposer to check if we are composing a word" 2011-12-16 03:47:34 -08:00
Jean Chalard
80b66bb166 General cleanup.
Move variables around, inline useless functions, remove
useless local variables.

Change-Id: Icb89d8b211a2ad4bc3619137c2276a649c2a5e34
2011-12-16 20:36:32 +09:00
Jean Chalard
644c8b7c96 Initialize input attributes in the InputAttribute class
Change-Id: I103d6851f54f47cbffdb567fb0f4c505c4697b05
2011-12-16 20:35:16 +09:00
Jean Chalard
ccc35f7fa7 Make applicationSpecifiedCompletionOn final.
This is the last one (whew)
Also move a somewhat unrelated initialization out of the
input attribute initialization function.

Change-Id: Icc77b32fd16b112ab43786715061b1c9dca31c04
2011-12-16 19:09:01 +09:00
Jean Chalard
9cc1312eee Make inputTypeAutoCorrect final.
Change-Id: I550eba1fc3fa2843d007a8208d81fad208c1196b
2011-12-16 19:08:52 +09:00
Jean Chalard
13db05f930 Make isSettingsSuggestionStripOn final.
Change-Id: Iabb99a7f8f3f1777f9a87ae2bddff9795a50fa92
2011-12-16 19:08:13 +09:00
Jean Chalard
1ba17f97d5 Small refactoring
This helps to make following changes smaller

Change-Id: I95ba2901ac3bf1ed70a748c35a0babdd9af1df63
2011-12-16 18:21:26 +09:00
Jean Chalard
ae0c109d11 Make insertSpaceOnPickSuggestionManually final.
Change-Id: I32fce0ea8c5c58b6f920d0758c8bf57769f39a12
2011-12-16 18:04:39 +09:00
Jean Chalard
4e8922f1be Use temporary variables for computing editor attributes
The ultimate intent is to make these variables final,
which will allow to move the computing function to the
InputAttributes class.

Change-Id: Ifb1fc7321a19b10d60aa63fa0daaa2708deda2cf
2011-12-16 18:04:17 +09:00
Jean Chalard
dc9d0fcc11 Create a class for input attributes.
Change-Id: I834390c83865aac59fb758d5c66cf9b74103abd8
2011-12-16 18:03:16 +09:00
Jean Chalard
196d82cdd7 Use the WordComposer to check if we are composing a word
...instead of the hard-to-understand mHasUncommittedTypedChars.
This is possible because now the word composer is actually aware
of commits.

Change-Id: I36b664ce8402a280f801e87b9ebe161f416b0853
2011-12-16 15:58:29 +09:00
Jean Chalard
be2f81f055 Merge "Make the word composer aware of commits." 2011-12-15 22:54:23 -08:00
Jean Chalard
c73c26790f Make the word composer aware of commits.
Change-Id: I04e691fbc9227d4df195429bca89edea93575347
2011-12-16 15:41:10 +09:00
Tadashi G. Takaoka
8c3d5b6961 Add com.android.inputmethod.latin.suggestions package
Change-Id: If4b823768ab9c073625da3034ecc8091be1df230
2011-12-16 14:21:44 +09:00
Tadashi G. Takaoka
e9a0efc242 Merge "Cleanup unused variables and parameters" 2011-12-15 18:02:38 -08:00
Tadashi G. Takaoka
2ac5988f84 Cleanup unused variables and parameters
Change-Id: Iad756a7a775c93f3344c6962e7b3456ef8339490
2011-12-15 20:26:12 +09:00
Tadashi G. Takaoka
23d27fefcb Fix auto correction spacebar LED
Change-Id: I4894d188d5612380cc9f8eec7cb72544e37fb2b0
2011-12-15 17:34:14 +09:00
Jean Chalard
f3ca6a59a7 Cleanup
Change-Id: I724df0be7ac07ffb9f1f4974175aed5a2606221b
2011-12-14 18:42:47 +09:00
Jean Chalard
1c6cf26c37 Move some code inside a function to simplify flow
Also rename the function to reflect better the behavior.
An upcoming change will clean up the remnants

Change-Id: I19bdf0d9e95f62ee749e1f64fe17132c4a5ef0bc
2011-12-14 17:56:57 +09:00
Jean Chalard
46798d8f1f Fail faster in case of a bug
Change-Id: Ibea64133f200dce80034c641d4798b62843a2512
2011-12-14 17:54:18 +09:00
Jean Chalard
b588003426 Refactoring.
Small simplification of the code.

Change-Id: I1f67ae529bbb2c9316bf5e083d367c57040ea22c
2011-12-14 16:59:25 +09:00
Tadashi G. Takaoka
e35e13fc7d Merge "Record onStartInputView" 2011-12-13 23:31:43 -08:00
Jean Chalard
dbdb385bb0 Merge "Fix a long-standing race condition." 2011-12-13 23:29:47 -08:00
Jean Chalard
514beb0992 Fix a long-standing race condition.
Upon autocorrection, there is visual feedback in the text
view that quickly flashes the background of the text that
just changed. This fixes a race condition that happens
upon autocorrection when typing fast, and that results in
flashing one character too far left (typically, the flashing
area includes the whitespace before the corrected word and
not the last character of the corrected word).
This happens because the call to commitCorrection may
happen before or after the IPC sent by sendKeyChar, but the
arguments are fit only for the case where it arrives first.

Change-Id: I9b5442a665aad5a9bc66cd49228075b9056b37fa
2011-12-14 16:24:18 +09:00
Tadashi G. Takaoka
7ef235f53f Record onStartInputView
Bug: 5722703
Change-Id: I56bcf6ccde82b4176093de4f197a8736b0cc8c10
2011-12-14 16:22:30 +09:00
Jean Chalard
8e3faff244 Merge "Decouple member logic from control flow" 2011-12-13 06:28:48 -08:00
Jean Chalard
7b5bc1ff4d Decouple member logic from control flow
This place is very confusing because a member variable with
a consistent meaning is hijacked for the duration of a function
to mean something else. This is in the way of easy-to-understand
refactoring.

Change-Id: If79bc771950d6bfc0ad5f0e9c51c7ef1dbb45b66
2011-12-13 23:15:12 +09:00
Jean Chalard
f7d6517d6b Various mini-cleanups
- Stop the word composer from escaping - take a page from the law
  of Demeter and only report what is actually needed.
- Fix typos in comments.
- Add a comment for a fishy processing.
- Remove a useless local variable.

Change-Id: I5fa78901cbb5483fc9683bfb7094f47244b85df6
2011-12-13 23:09:22 +09:00
Jean Chalard
edf4995a3b Merge "Remove the input connection sidework from handleCharacter" 2011-12-13 04:28:30 -08:00
Jean Chalard
dafa7a8e15 Remove the input connection sidework from handleCharacter
Change-Id: I3d376dfda3acd8864274390de3ff5752b18456e0
2011-12-13 21:12:07 +09:00
Jean Chalard
117fc93f37 Move mBestWord to the word composer.
mBestWord has a confusing name - it's actually an auto-correction.
It's cleaner if it lives in the word composer because an
auto-correction should be tied to a specific user input, and
should be reset each time the user input changes to avoid
race conditions.

Change-Id: I718d29395bc747372067e6440e090c6a181994ae
2011-12-13 21:06:51 +09:00
Jean Chalard
7e6f4daa19 Merge "Tighten conditions for space-related cancelling" 2011-12-13 01:23:15 -08:00
Jean Chalard
77d59b0691 Consolidate underlining code under one function.
Change-Id: I4393ff1ec28a6b3118d1344dd6d82d04899dea42
2011-12-13 17:42:27 +09:00
Jean Chalard
8ad4013406 Tighten conditions for space-related cancelling
Instead of ignoring silently a found bug, throw an exception.

Change-Id: I0aa96d0cab022b6a5e7cffe8a592dcc443c3c7a8
2011-12-13 17:40:06 +09:00
Jean Chalard
14cb8448df Remove a useless return
Change-Id: Iefe10e94e2d88171387351a5b6cab52e281d0f76
2011-12-13 16:48:28 +09:00
Jean Chalard
2939063947 Simplification
Both tests have the same meaning. They should be merged.
Also, if "deleteLast()" deletes more than one char (which
never happens in the current implementation, but it's not
guaranteed), the new code is more correct.

Change-Id: I216df7cd45f4a7d76d1d5d6aa7f8d7f9a6e35ea3
2011-12-13 16:06:00 +09:00
Jean Chalard
d2c69c7d12 Refactoring
If mHasUncommittedTypedChars is true, then
mWordSavedForAutoCorrectCancellation must always be null, and
spaceState must always be SPACE_STATE_NONE.
Hence, this change is supposed to be very no-op.

Change-Id: I2716f7372d996cc4dec40a4b7ac1ee7f5f4afe91
2011-12-13 16:04:11 +09:00
Jean Chalard
2245c3b5b3 Refactor + small bugfix
postUpdateShiftKeyState used to be called also when
mEnteredText is not null => this is a bugfix.
The rest does not change the logic, as posting a message can
be done anywhere within the function with no impact.

Change-Id: I7888797c0778702d64f96701e35b611a55a6a259
2011-12-13 15:59:36 +09:00
Jean Chalard
a2a85d45e0 Refactoring
Change-Id: I57b2232f7fde32df5f6e1925aad1df988def34f9
2011-12-13 15:38:49 +09:00
Jean Chalard
34081186f9 Merge "Fix a bug where revert auto-correct would revert too much" 2011-12-12 04:46:27 -08:00
Jean Chalard
5c3ff4c9c8 Fix a bug where revert auto-correct would revert too much
If there are no uncommitted chars, we shouldn't enter any of
the tests that follow. We didn't use to, but a change today
made it possible - it should not happen.
There is no point in doing the rest of the tests, they are
sure to fail.

Change-Id: I580dd104aff3585de72a93b38989bfd9713f615b
2011-12-12 21:27:16 +09:00
Jean Chalard
4f41cbc588 Remove a useless function call
Change-Id: I1a775cbf90dca301e1e6b596ddac64fdbc023199
2011-12-12 20:51:43 +09:00
Jean Chalard
dcf8a6b2c6 Merge "Move a settings var to the settings class" 2011-12-12 03:31:42 -08:00
Jean Chalard
2a659b8aa6 Remove a useless variable
This can be just read when it's needed.

Change-Id: I00753fe55645c244db5d4a96e7fdb8f5325475d9
2011-12-12 20:22:39 +09:00
Jean Chalard
d567b230b0 Move a settings var to the settings class
Change-Id: I1331ad6dec3a9d64a77e314f8a1f4c29282df31b
2011-12-12 19:52:17 +09:00
Jean Chalard
7208af0ecd Remove a messy and unused class.
Today is a happy day

Change-Id: I3ef484bd258d5a59815bfcb0bd35ea3606b32430
2011-12-12 19:31:29 +09:00
Jean Chalard
f162ed7ec8 Merge "Remove side-effects from TextEntryState" 2011-12-12 02:20:49 -08:00
Jean Chalard
406d192a9e Remove side-effects from TextEntryState
Change-Id: Ib98eea9e791e426435cfdfd0c9ab3ed9061664aa
2011-12-12 19:19:39 +09:00
Jean Chalard
c2a76a1529 Remove a useless variable.
Change-Id: Iea5ce5cfc05bad8b1d9085438e90147bd54b7e9c
2011-12-12 16:49:32 +09:00
Jean Chalard
890d13189d Straighten out logic for revert word paths
This also includes a new memorized string with simpler
logic that will allow to remove other members

Change-Id: I0b97243084902e68fcb835b6163c86fef8190ebc
2011-12-12 16:41:49 +09:00
Jean Chalard
86344836ee Merge "Remove a duplicated variable." 2011-12-11 21:26:31 -08:00
Tadashi G. Takaoka
2ba1bcccdd Remove unused Keyboard.CODE_CANCEL
Change-Id: Ic2eab17e525901a1cf7096ebe7d24ae78624ed2e
2011-12-12 12:56:30 +09:00
Jean Chalard
3651220327 Remove a duplicated variable.
This is awesome cleanup.

Change-Id: I35ce8940a13f3084630dc26d6e7e397acfdaac36
2011-12-12 12:06:41 +09:00
Tadashi G. Takaoka
963abf4bcc Merge "Remove unused public methods from KeyboardState and KeyboardSwitcher" 2011-12-09 04:38:14 -08:00
Tadashi G. Takaoka
df9deffba2 Remove unused public methods from KeyboardState and KeyboardSwitcher
Bug: 5708602
Change-Id: I3dbc3cd00aa9ddf611e2078ff2cfea8945fa09bf
2011-12-09 21:14:13 +09:00
Jean Chalard
0fe3611bee Resolve TODOs: add some members to store prefs
Change-Id: Idf09cb5d801e8008eb63cbb5138058faeb7db136
2011-12-09 20:16:57 +09:00
Jean Chalard
c207e0a7da Move settings variables to the settings class
Change-Id: Ifa7033a84b08ea626eb44cf6d04ba8e28c250bea
2011-12-09 16:47:31 +09:00
Jean Chalard
284c8a0449 Merge "Stop a flag from escaping." 2011-12-08 23:14:15 -08:00
Jean Chalard
4606de117b Stop a flag from escaping.
The ultimate intent is to close it up in the settings, as it does not
change while typing, only when the keyboard is open again.

Change-Id: I12ff56e7482c1584877fe5531473bf03e95a60f6
2011-12-09 16:09:04 +09:00
Jean Chalard
ed43296217 Move settings method from Utils to SettingsValues
Change-Id: I633378a41f63cd492b8c9345d550e07254df5e5a
2011-12-09 16:03:10 +09:00
Tadashi G. Takaoka
a76c62e92d Merge "Remove direct calls of setKeyboardXXX from KeyboardSwitcher" 2011-12-08 21:33:09 -08:00
Tadashi G. Takaoka
96c56cb577 Remove direct calls of setKeyboardXXX from KeyboardSwitcher
These calls, setAlphabetKeyboard, setSymbolsKeyboard, and
setSymbolsShiftedKeyboard have to be call backed from KeyboardState.

Bug: 5708602
Change-Id: Ibbe1a21bd10bf942e17886869c0ab0fa1735b87e
2011-12-09 13:26:11 +09:00
Jean Chalard
7a16a061e6 Extract Settings.Values to a new class
This is pretty much automatic refactoring. Thanks Eclipse!

Change-Id: I8ccd24d11878445c836347e9c487c91461eee9cd
2011-12-09 12:40:50 +09:00
Jean Chalard
283b0c2b64 Cleanup
Here, shouldAutoCorrect implies mSettingsValues.mAutoCorrectEnabled

Change-Id: I9256718dd63b75252d1454e264db6814bbf18aa5
2011-12-08 21:37:15 +09:00
Tadashi G. Takaoka
eef6238f94 Move SWITCH_STATE related stuffs to KeyboardState
Bug: 5708602
Change-Id: I904ec370e3761c47af17a680c0932ec98cfd3c27
2011-12-08 16:12:49 +09:00
Tadashi G. Takaoka
6b7100feca Don't execute pending onStartInputView if EditorInfos are equivalent
Bug: 5722732
Bug: 5722867
Change-Id: I8347c258b286c3329f318d50adf205e78e49c722
2011-12-07 22:39:13 +09:00
Tadashi G. Takaoka
8a70e70c84 Remove toggleSymbolsShift and rename toggleKeyboardMode
Bug: 5708602
Change-Id: Iadef3e862d00505d1d9f588d0d64445754d7b962
2011-12-06 18:12:34 +09:00
Jean Chalard
55042ff977 Merge "Resume suggestion when backspacing to the end of a word" 2011-11-29 01:15:42 -08:00
Tadashi G. Takaoka
b230806f44 Merge "Save keyboard layout only when it is shown" 2011-11-29 00:53:38 -08:00
Jean Chalard
6b1f500da4 Resume suggestion when backspacing to the end of a word
Bug: 5515381
Change-Id: I26fea896feaf2e9716c7ae3d4f2630360f23ac50
2011-11-29 17:50:36 +09:00
Jean Chalard
117fc18ed4 Keep count of the trailing single quotes for suggestions
Bug: 5665809
Change-Id: I4d9100dbe980861ccb55c78464524be670cac1f7
2011-11-29 15:16:28 +09:00
Tadashi G. Takaoka
f2c9a88887 Save keyboard layout only when it is shown
Bug: 5130446
Change-Id: I150b4a053036eae050099155169325f0d1f7dfed
2011-11-29 14:12:49 +09: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
Jean Chalard
6d1cbbc2ff Fix a bug with single quotes
I14dd3815 special-cased single quotes at the start of a word, but
did not do so correctly - it would kill a composing word if entered
just after some punctuations.
The right test was not isCursorTouchingWord() but
mHasUncommittedTypedChars, which actually makes for a simpler
implementation.

Bug: 5648032
Change-Id: Icd21d213e0cad6da68cacfeb921502cd8dcfac95
2011-11-22 18:29:51 +09:00
Tadashi G. Takaoka
e7eac906c0 Pending onStartInputView only if the EditorInfo is identical
Bug: 5604372
Change-Id: I2a88cf15b07eebd29e43e460f6ec758432181b01
2011-11-21 16:32:46 -08:00
Jean Chalard
19cbdfc92f Merge "Remove an unused (and scary) method" 2011-11-21 00:57:45 -08:00
Jean Chalard
ce86e39e00 Merge "Cleanup." 2011-11-21 00:53:49 -08:00
Jean Chalard
5d5028f2c5 Remove an unused (and scary) method
Change-Id: I14a545a3e4955a25fde17554156552c755d44e2f
2011-11-21 17:45:32 +09:00
Jean Chalard
6ecd1e1280 Merge "Special case quotes at start and end of words" 2011-11-21 00:21:09 -08:00
Jean Chalard
c83359f974 Special case quotes at start and end of words
Single quote at start of word is not considered a part of a
word any more.
Single quote at the end of a word now behave like capitalization:
lookup in the dictionary is done *disregarding* a final quote,
and it is forcefully added back into the suggestions afterwards.

Bug: 5566368
Change-Id: I14dd3815f4b743edba56d64a3abdf4b73d863a6a
2011-11-21 16:34:39 +09:00
Tadashi G. Takaoka
e00ede531f am 5619d765: Shift/Symbol/Smiley will not disable settings/microphone keys
* commit '5619d7658459d13723b6d7ad8969b249adf9e717':
  Shift/Symbol/Smiley will not disable settings/microphone keys
2011-11-18 15:23:14 -08:00
Tadashi G. Takaoka
5dc318a3f2 am 10dff768: Fix NPE introduced by I38b21d49
* commit '10dff76856a98b6eec86a53d3d07fdc9708037b7':
  Fix NPE introduced by I38b21d49
2011-11-18 14:48:05 -08:00
Tadashi G. Takaoka
49cc3beb75 resolved conflicts for merge of 137667ed to master
Change-Id: I75fc5d278b002ab89dd2475d282d0ee4aede7817
2011-11-18 08:51:39 -08:00
Tadashi G. Takaoka
5619d76584 Shift/Symbol/Smiley will not disable settings/microphone keys
Bug: 5560766
Change-Id: Ic2dbb835e87a7debb222093756816e683b464b83
2011-11-17 23:32:19 -08:00
Jean Chalard
88562bec54 Cleanup.
Fix a typo, and move a cursor.close() in a finally{} clause

Change-Id: Iac011ebb80b9430774c7dc5cd94728d05cef443f
2011-11-18 15:24:49 +09:00
Tadashi G. Takaoka
10dff76856 Fix NPE introduced by I38b21d49
Bug: 5560766
Change-Id: Ic5eaebe0ef893c69ad90a777ebfa07807535a0e3
2011-11-17 21:46:24 -08:00
Tadashi G. Takaoka
137667ed3d Merge "Ignore microphone and settings key while typing" into ics-mr1 2011-11-17 18:01:43 -08:00
Tadashi G. Takaoka
175acb8205 Ignore microphone and settings key while typing
Bug: 5560766
Change-Id: I38b21d49b7e803bf94805ba8e13849b3c734e010
2011-11-17 16:01:31 -08:00
Tadashi G. Takaoka
60acfdf4a8 Skip loading keyboard when SoftInputWindow hasn't shown yet. (DO NOT MERGE)
This is cherry-pick of I003101b2 from Master for Bug: 5541192
Bug: 5636367

Change-Id: I560126d17be6a770b19c1f1347332ebdfde5d671
2011-11-17 14:30:54 -08:00
Tadashi G. Takaoka
eb520c5683 am 549e295d: Fix updateFullscreenMode of LatinIME
* commit '549e295dc113bff50077c3c355dcd94af09a1b2f':
  Fix updateFullscreenMode of LatinIME
2011-11-15 18:25:21 -08:00
Tadashi G. Takaoka
549e295dc1 Fix updateFullscreenMode of LatinIME
Bug: 5597608
Change-Id: If4b18dc933493bd74bc5506c028af86b0450df1f
2011-11-15 15:15:11 -08:00
Ken Wakasa
ed631627cb Double space conversion should be enabled only when the 1st space is "weak".
bug: 5608934
Change-Id: Ide7ca9d526620c4f225a6f5eb27dcd7df5b504bd
2011-11-15 12:35:22 +09:00
Tadashi G. Takaoka
1e39565bb4 Skip loading keyboard when SoftInputWindow hasn't shown yet.
Bug: 5541192
Change-Id: I003101b2a3fdeb5bb554d249634ec5ab50aea09e
2011-11-04 15:01:58 +09:00
Jean Chalard
2c77216e22 Remove trailing spaces when appropriate
Bug: 5509651
Change-Id: I99cfb5a6fc2873e2c11ed16967cd82a7f504a263
2011-11-02 19:44:26 +09:00
Tadashi G. Takaoka
6f811bd13f Merge "Make some private method static" 2011-10-27 22:57:58 -07:00
Tadashi G. Takaoka
8fbf29e2d5 Make some private method static
Change-Id: Ia23765268be0ef89d7fe7c3f5372ed32d6615765
2011-10-28 13:31:31 +09:00
Tadashi G. Takaoka
3122cf8daa am 07a44557: Merge "Cancel pending rotation when another rotation start" into ics-mr1
* commit '07a445572f7fa21c0e24f5cdb0f0b88ff2adc672':
  Cancel pending rotation when another rotation start
2011-10-27 22:59:14 +00:00
Ken Wakasa
644d33d60e Display "Touch again to save" in the keyboard locale
bug: 524239
Change-Id: I227c193ba149f9296f8b1cf40aa3d9cf4e6ae2ab
2011-10-28 00:33:15 +09:00
Tadashi G. Takaoka
dd25e4fa2c Cancel pending rotation when another rotation start
Bug: 5516802
Change-Id: Iccb0abeb94e6dc1322a98a0c744188bb74034c7f
2011-10-27 17:03:03 +09:00
Tadashi G. Takaoka
ef543c725e Merge "Use onCustomRequest to request haptick and audio feedback" 2011-10-26 07:54:23 -07:00
Tadashi G. Takaoka
d999ea4480 Use onCustomRequest to request haptick and audio feedback
Change-Id: I958f274d8cfebb1551cdf08f1bada50c20fb9ca0
2011-10-26 23:32:38 +09:00
Ken Wakasa
44f4d77b75 am cb8cb95d: Fix NPE
* commit 'cb8cb95d0afd340de9f1a0e15948f0068d2450bc':
  Fix NPE
2011-10-26 14:25:28 +00:00
Jean Chalard
120586c226 Group special spaces and double/swapped spaces in undo mode
This introduces an elementary undo facility that accounts
for magic space, strong space, double space and its cancelling,
and swapped punctuation and its cancelling.
The former three were existing behavior ; this change adds
the swapped punctuation cancelling behavior.

Bug: 5454442
Change-Id: I87af633f30caa2788e9af725e556a7f0746d9a14
2011-10-26 19:12:55 +09:00
Ken Wakasa
cb8cb95d0a Fix NPE
bug: 5512097
Change-Id: Id6752c95c9c4b39e7975daa187a2ab92b740060a
2011-10-26 02:35:44 +09:00
Jean Chalard
d0c5f9395a Cleanup.
Remove a state that can never be reached, and ajust all the
callers that would always have received false.

Change-Id: Iac025568be11743428419e0772da306a4f0a0bf1
2011-10-25 21:57:30 +09:00
Jean Chalard
126698fdd2 Add a strong space behavior.
Bug: 5454442
Change-Id: Ic095cb65dd7b4427617cd74fc7c53a9666b218c4
2011-10-25 18:40:14 +09:00
Jean Chalard
b715299125 Fix a cosmetic bug where text would blink on space swap
On space swap or space removal in some occasions there would be
a small blink on the screen. This change fixes that.

Change-Id: I486cbcc5dfcafd531b3fa92c4f9a3255832f22cc
2011-10-25 18:02:23 +09:00
Tadashi G. Takaoka
b2b1eb5ca5 Call updateFulscreenMode before calling isFullscreenMode
Bug: 5495739
Change-Id: I25eab59833a8b95a0b75893d37a45e67504fa7d0
2011-10-24 15:30:49 +09:00
Jean Chalard
26a531c6fe Rename a flag
...and insert some explaining commands

Change-Id: Iff6511e71d66abfaea9f6c21c47f74fa0a67ad78
2011-10-21 19:59:46 +09:00
Tadashi G. Takaoka
49426a1ea9 Fix potential NPE
Bug: 5462524
Change-Id: I76012d1bbcd83d58f034c2f588802e4d1b7edc4d
2011-10-20 20:31:17 +09:00
Tadashi G. Takaoka
82c8c2e6c0 Add warning log for unexpected inputType
Bug: 5130446
Change-Id: I3484c75144ba68db0734a4d38186d2eafd1b1879
2011-10-19 16:53:07 +09:00
satok
c5d51a40a4 am fe2d9079: Fix a bug that the typed word with the blue underline indicator will be duplicated
* commit 'fe2d90798ea409ee39d6f63942eb01bb7eed98e3':
  Fix a bug that the typed word with the blue underline indicator will be duplicated
2011-10-17 11:32:24 -07:00