Commit Graph

1869 Commits (1d9bf42009301bee11ebdafb26ca6a0a18240e84)

Author SHA1 Message Date
Jean Chalard 8a23703763 Merge "[CM1] Let predictions be aware of capitalize mode." 2014-06-10 22:31:57 +00:00
Jean Chalard deccc23564 [CM1] Let predictions be aware of capitalize mode.
Bug: 15554503
Change-Id: If5e8c0d94ed26d929400ccbb0d45ac23dd98d180
2014-06-16 18:44:39 +09:00
Keisuke Kuroyanagi 37c49f63df Update suggestion strip when the contextual dict is updated.
Bug: 14161647
Change-Id: Ic7d53464bd051bffc8c7f8d097325321fe0aaee7
2014-06-16 18:30:59 +09:00
Keisuke Kuroyanagi 1a4d815b0b Contextual dictionary updater.
Bug: 14161647
Change-Id: I8106419678d5d26a4debec7bbef43af079c1ab18
2014-06-13 18:39:29 +09:00
Keisuke Kuroyanagi d7a22c8439 Personalization dictionary updater.
Bug: 14161647
Change-Id: I7ab3d701525e9a19bc100aa577527e332bb2ad95
2014-06-13 16:31:12 +09:00
Tadashi G. Takaoka 6a96c508fd Fix logic to show suggestions
Bug: 15531465
Change-Id: Ic7fe5743ad3767cdaed699e5e2d1ebcaa75e22c2
2014-06-11 11:51:58 +09:00
Jean Chalard 453711abe2 Use RichInputConnection to get the previous word.
We don't need the optimization of storing the old words now
that the RichInputConnection can supply it without IPC.

Bug: 13703802
Change-Id: I37ccb8d5fba879fb04b4f23d33571849736d897c
2014-06-09 19:43:20 +09:00
Keisuke Kuroyanagi a2a4ee2765 Merge "Check isInDictionary() before the distracter test." 2014-06-09 02:53:33 +00:00
Keisuke Kuroyanagi bdf745da32 Check isInDictionary() before the distracter test.
Bug: 13142176
Bug: 15428247
Change-Id: I7ce2c09ebbef6ca8c056807c2a35f2f987fd436e
2014-06-09 11:43:45 +09:00
Tadashi G. Takaoka 987bff9136 Refactor logic to determine showing suggestions strip or not
The logic to determine when the suggestions strip (a.k.a. the
contextual strip) should be shown is already complex. In addition to
that the voice input key get shown on the strip as well. There are a
several factors to be considered and a few things to control.

- The password input field shouldn't have the strip.
- Show voice input key on the strip or not.
  - User preference settings "Show Voice Input Key".
  - A voice IME exists and is enabled.
  - The input field may have a private IME option to prevent the voice
    input key from being displayed.
- Application can specify auto completions.
  - Full screen mode or not.
- User preference settings "Show correction suggestions".
  - Always show, Show in portrait mode, Always hide.
- The input field may have flags to prevent showing suggestions or
  auto corrections.
- Suggestions is empty or not.
- An important notice may be shown.

Bug: 14981852
Bug: 15436479
Change-Id: I3050fd53ee6271fc64a8f17b6b12d9581d37b750
2014-06-06 19:41:21 +09:00
Jean Chalard 6464d73ad9 Merge "When starting input, include the literal word in suggestions" 2014-06-06 07:27:40 +00:00
Tadashi G. Takaoka bd3b20ce73 Merge "Always update voice key visibility" 2014-06-06 07:14:28 +00:00
Jean Chalard fca2c4b439 When starting input, include the literal word in suggestions
This change also includes a fix that has suggestions re-computed
when the typed word is included but no prior suggestions were
found in spans.

Bug: 2349475
Change-Id: Ic06e6ac492507126ffc1e96a5f396c971b567272
2014-06-06 16:00:18 +09:00
Jean Chalard eb771b9dc4 Merge "Fix a small bug with rotation." 2014-06-06 06:34:00 +00:00
Jean Chalard c69ba5630d Fix a small bug with rotation.
Bug: 2349475
Change-Id: Id4aa5ce56b1a545e4cb88ca1b01cf24642deade2
2014-06-06 14:06:29 +09:00
Tadashi G. Takaoka aa4b2c7127 Always update voice key visibility
Bug: 15128166
Change-Id: Ie15724c323efa3b102f6aebddc3bda210aad1727
2014-06-06 13:18:41 +09:00
Tadashi G. Takaoka 3ca65c8fd5 Remove unused supportsSwitchingToShortcutIme attribute
Change-Id: I51c5247ac925a158facb79057f704b763b903552
2014-06-06 13:11:57 +09:00
Jean Chalard 70ff0c2122 Merge "Fix a bug on rotation with selection." 2014-06-06 03:12:12 +00:00
Jean Chalard 9fd9a68d87 Fix a bug on rotation with selection.
The symptom : when text is selected and the device is rotated,
sometimes the keyboard sets the word as being composed around
the start of the selection. Upon the next rotation this ends up
with the keyboard committing some text in place of the selection.

The cause : another bug in the framework with rotation >.>
The keyboard receives a call to startInput with a wrong cursor
position, namely one that does not represent a selection. The
keyboard sets a composition according to this wrong data. When
the keyboard is rotated again, it commits the text, which takes
the place of the selection.

The solution : actually when restarting input the keyboard
realizes that the cursor position is wrong. We cancel composition
at that time.
For robustness, this change also implements two other defensive
changes : upon call to onUpdateSelection, we actually realize
that the previous values were wrong, so we also fix it at that
time, and in addition, when rotating, we finishComposingText()
instead of commitText() which is less dangerous. Implementing
this later change also allows us to let less internal variables
from InputLogic escape to LatinIME, so it's also a good change
for design.

Bug: 14140799

Change-Id: Ib10de18e53e376ac1bbc8487e13d969828483346
2014-06-06 11:18:23 +09:00
Tadashi G. Takaoka 2e32e37d5b Rename some boolean variables for readability
Change-Id: I434cf507e68349b9893ac084645986d6b3d7da91
2014-06-05 18:18:46 +09:00
Tadashi G. Takaoka 51ee5a47b8 Remove LatinImeLogger and UsabilityStudyLogUtils
This CL must be checked in together with Ie52007dc5c.

Bug: 15318007
Change-Id: Ie665f296e43b5485ae8ba7e949aa262794ee0dcc
2014-05-29 18:03:03 +09:00
Tadashi G. Takaoka bbf556e8e1 Remove researcher logger
This CL must be checked in together with I5cc76807e3.

Bug: 15318007
Change-Id: I61423c3377ddc299fb332e742d6626c2e47145bb
2014-05-29 15:10:28 +09:00
Tadashi G. Takaoka 9df51d10fa Keep showing important notice when "show correction suggestions" is off
When
 1. The important notice message is shown on the suggestions strip.
 2. And the "Show correction suggestions" settings is off.
we will keep showing the important notice message on the suggestion
strip.

Bug: 13741460
Change-Id: I411007ab1e5e6959b6cdba7a6601a84635259313
2014-05-26 14:11:41 +09:00
Tadashi G. Takaoka a91561aa58 Use Java 7 diamond operator
Change-Id: If16ef50ae73147594615d0f49d6a22621eaf1aef
2014-05-24 01:05:42 +09:00
Keisuke Kuroyanagi f498e53933 Make DistracterFilter interface.
Bug: 13142176
Bug: 15094186
Change-Id: If94b0a155b5ea2ff6b839e7da9d12a9cc6553931
2014-05-23 18:12:37 +09:00
Keisuke Kuroyanagi 1fa3e9044f Move distracter filter to dictionary facilitator.
Bug: 13142176
Bug: 15094186
Change-Id: Ib9e42f8e25538009f3ba62cf1e034cae3f6823c7
2014-05-23 16:10:36 +09:00
Keisuke Kuroyanagi a1035be6d8 Have DictionaryFacilitator in LatinIME.
Bug: 13142176
Bug: 15094186
Change-Id: I9da67352ff2abcd289fa5885389895ced878a413
2014-05-23 09:30:55 +09:00
Keisuke Kuroyanagi a2ce9a49ac Fix NPE happening in unit tests.
Change-Id: I2fc0dba53e18883755ff77351c152a9d3534c92b
2014-05-22 21:57:07 +09:00
Keisuke Kuroyanagi 5e2c4c0297 Merge "Use enabled subtypes for Keyboard in DistracterFilter." 2014-05-22 04:50:47 +00:00
Keisuke Kuroyanagi 17f326b745 Add beginning of sentence information in PrevWordsInfo.
Bug: 14119293
Bug: 14425059
Change-Id: I65320920e840082b0b697bb621676716d0933e0c
2014-05-21 15:40:08 +09:00
Keisuke Kuroyanagi 17ae0eb7e7 Use enabled subtypes for Keyboard in DistracterFilter.
Bug: 13142176
Bug: 15094186
Change-Id: I142eeaa11f838080a4fc5a342155e5d470eab3d4
2014-05-21 14:08:39 +09:00
Keisuke Kuroyanagi 83c40a2301 Use PrevWordsInfo instead of String in Java side.
Bug: 14119293
Bug: 14425059

Change-Id: I3d5da84881a49a04550180dd9aac2c37da2ed762
2014-05-19 13:55:40 +09:00
Keisuke Kuroyanagi 23246ed18d Use dedicated DictionaryFacilitator for DistracterFilter
Bug: 15002249
Change-Id: Ic77eaa7d627d406daad7dcd15cb4884d9f647312
2014-05-17 01:18:08 +09:00
Keisuke Kuroyanagi f9377c8920 Revert "Use dedicated DictionaryFacilitator for DistracterFilter"
This reverts commit 7122fe76e3.

Change-Id: I341089864a2b58de6e0f35844a12fb632bd1eabb
2014-05-16 11:16:54 +00:00
Keisuke Kuroyanagi 7122fe76e3 Use dedicated DictionaryFacilitator for DistracterFilter
Bug: 15002249
Change-Id: I2ebf1941fb0453ea4b97c0e539f8b36e5e0262c1
2014-05-16 18:39:31 +09:00
Tadashi G. Takaoka 2ddaf9543d Remove unused auto correction led for spacebar feature
Change-Id: Ie1544bd0d28684d9b7887fddff37b224ed4f8201
2014-05-15 17:53:43 +09:00
Yohei Yukawa f0fc320b4e Merge "Simplify StatsUtils" 2014-05-15 06:35:42 +00:00
Xiaojun Bi 3686bdfcc1 Fix off-device build
This CL fixed the breakage caused by DistracterFilter.
It should be checked in together with I8f53e9481c0f

Bug: 14911612
Bug: 13142176
Change-Id: I33c3526165cea58926d10404552f1fadc385c2e5
2014-05-14 17:39:02 -07:00
Yohei Yukawa 9aa7f66a15 Simplify StatsUtils
With this CL, the implementation of StatsUtils no longer
needs to know how to read settings from the system.

Insted, the LatinIME class is now responsible for notifying
StatsUtils whenever the settings is changed.

BUG: 14324207
Change-Id: Ic3d26ec31c8d2c082d3e7487b578b323aad2f960
2014-05-15 00:11:13 +09:00
Xiaojun Bi 25ec32f635 Merge "Implement the distracter filter" 2014-05-13 23:08:40 +00:00
Xiaojun Bi ac20253806 Implement the distracter filter
Bug: 13142176

Change-Id: I85a048cdcbbad3d6020a25f900250d8d7a0fe3da
2014-05-13 15:52:14 -07:00
Jean Chalard be99616afa Create the path for specifying combining rules in the subtype
Also add the skeleton of the combining rules for Myanmar
reordering as a pilot.

Bug: 13945569
Change-Id: Iabeb6838f45f1efff482143595ce5b48543e0c43
2014-05-12 15:58:51 +09:00
Tadashi G. Takaoka 3903e0d6e8 Merge "Make AccessibleKeyboardViewProxy not singleton" 2014-05-01 03:29:30 +00:00
Tadashi G. Takaoka bca7e4e9a2 Make AccessibleKeyboardViewProxy not singleton
This CL also renames AccessibleKeyboardViewProxy and
AccessibilityEntityProvider to MainKeyboardAccessibilityDelegate and
MainKeyboardAccessibilityNodeProvider.

Change-Id: I2b0ec091a11aa8a495794d633efecb6d8b818f42
2014-05-01 12:24:54 +09:00
Keisuke Kuroyanagi a9f0a96377 Merge "Handle user dict as an ExpandableBinaryDictionary." 2014-04-30 12:44:25 +00:00
Keisuke Kuroyanagi 9ed7e47539 Handle user dict as an ExpandableBinaryDictionary.
Bug: 13755213
Change-Id: I2d242a3332e9633d4e41e08c0bbfafcefd814ecd
2014-04-30 20:35:08 +09:00
Tadashi G. Takaoka 24536580bf TalkBack correct shift state
Change-Id: I3097805c6c8b4a4ac19fbe062f763e2639eb5cbf
2014-04-30 18:46:46 +09:00
Yohei Yukawa 8ba4f33709 Use shouldOfferSwitchingToNextInputMethod when available
With this CL, LatinIME starts using
InputMethodManager#shouldOfferSwitchingToNextInputMethod when
available and API level is higher than 19 (KitKat).

Note that relevant settings of LatinIME will be ignored if
InputMethodManager#shouldOfferSwitchingToNextInputMethod is
considered to be available at the moment. We will revisit
here to reorganize the user visible settings before the
new global IME switching mechanism becomes publicly
available.

BUG: 12965588
Change-Id: I0188fa56cba8e983c61cef3ae3400a0e3821f718
2014-04-28 15:11:19 +09:00
Keisuke Kuroyanagi 169acbf9f0 Add null check in createDistracterFilter().
Change-Id: Iff2b73081d48f32b1d3a5d5b32c9734979362c23
2014-04-25 13:36:46 -07:00
Xiaojun Bi 281dd99346 Prepare to implement distracter filter
It was implemented according to the Plan B in the
design doc:
http://go/ime-misspelling-filter

This CL is to create a DistracterFilter instance
and pass it to PersonalizationDictionarySessionRegistrar.

This patch should be checked in together with
Id633b4fd45693

Bug: 13142176
Change-Id: Ia4957e64218c9619fcf9bb91795a187617c72a2e
2014-04-25 09:13:22 -07:00
Jean Chalard 86ff9d6dda Merge "Fix a wrong parameter passed." 2014-04-17 07:39:52 +00:00
Jean Chalard 26611120c9 Fix a wrong parameter passed.
Bug: 14120001
Change-Id: I8258304bc500fe28870fb8a5c11c15d97795423c
2014-04-17 15:44:55 +09:00
Jean Chalard ba635ad30d Merge "Restart suggestions when restarting input" 2014-04-16 10:43:28 +00:00
Jean Chalard 3aba6263f0 Restart suggestions when restarting input
Bug: 6851364
Change-Id: I3052924053f37f56c9c3953051aa1b22224a2b2e
2014-04-16 17:02:08 +09:00
Jean Chalard 66e509b1d4 Fix some failing tests
Bug: 13968927
Change-Id: I7e5e075535e38bf0fa24af98ed6e2cdfd6de6556
2014-04-15 21:44:46 +09:00
Jean Chalard 1ee443d848 Merge "[IL135] Make getCurrentAutoCapsState private" 2014-04-15 02:27:52 +00:00
Jean Chalard 82d3a56b09 Merge "[IL134] Add an alternative path to getCurrentAutoCapsState" 2014-04-15 02:24:41 +00:00
Jean Chalard 2282e8520a Fix updating the shift state upon backspace
Bug: 13514349
Change-Id: If4c9db12b0ab5be676f7a2f72715f469066ee537
2014-04-14 21:28:24 +09:00
Jean Chalard f091c491ea [IL135] Make getCurrentAutoCapsState private
Bug: 8636060
Change-Id: I800aefe6fee4c14df6fe5abe21b2387c69abb8f5
2014-04-14 21:09:32 +09:00
Jean Chalard ddc163988a [IL134] Add an alternative path to getCurrentAutoCapsState
Bug: 8636060

Change-Id: I959e13d34910adad028ed6174f92029ff690eeeb
2014-04-14 21:09:32 +09:00
Tadashi G. Takaoka 30d5ed67d6 Keep ImportantNoticeDialog showing after orientation changed
Bug: 13951402
Change-Id: Ia6340d48843abca68ebadd299827cbe43516cc39
2014-04-14 15:48:19 +09:00
Yohei Yukawa da498229f4 Merge "Plumbing for ProductionFlag.USES_CURSOR_ANCHOR_MONITOR" 2014-04-13 12:56:43 +00:00
Yohei Yukawa fab4ce43f8 Plumbing for ProductionFlag.USES_CURSOR_ANCHOR_MONITOR
With this CL, LatinIME starts calling
InputMethodService#setCursorAnchorMonitorMode in #onStartInput()
when ProductionFlag.USES_CURSOR_ANCHOR_MONITOR flag is explicitly
set to true.

BUG: 13891796
Change-Id: Ib2fb0c3521b61859d4cc530155ccaaee7ee16cbc
2014-04-11 12:26:33 +09:00
Jean Chalard cb05dc1d1b Merge "[IL133] Avoid calling a dangerous method from outside." 2014-04-10 09:15:13 +00:00
Jean Chalard 4370ff0998 Fix some flaky tests.
In tests, we create many instances of LatinIME, but we never
destroy them. That means we never close the dictionaries nor
the handlers.
This change calls onDestroy, which closes all dictionaries, and
adds some code to finish the handlers.

Change-Id: I942517a2a940c54256b08763f6b38f5b55809f55
2014-04-10 17:32:05 +09:00
Yohei Yukawa c9539f42f6 Merge "Add StatsUtils for checking state" 2014-04-08 10:23:41 +00:00
Yohei Yukawa dc0f7ca167 Add StatsUtils for checking state
BUG: 11746191
Change-Id: I0218dd07dde1d09321009ea1497258fc4235a1e8
2014-04-08 19:09:49 +09:00
Jean Chalard f9516b00ec Merge "[IL132] Remove some calls that let a value escape." 2014-04-04 13:33:26 +00:00
Tadashi G. Takaoka 9b46ddc1d5 Use platform default theme for activities and dialogs
Bug: 13698528
Change-Id: Ib904c911452525e3749c0eb287434b504576db5f
2014-04-04 17:13:54 +09:00
Jean Chalard 8ab4ae4377 [IL133] Avoid calling a dangerous method from outside.
We want to remove all calls to this as it lets internal values
escape, but there is some refactoring to do to finish this.

Bug: 8636060
Change-Id: Iedba6afe4719bc0add868714a1ee5a04b7ead33e
2014-04-03 15:36:15 +09:00
Jean Chalard 9320553ab9 [IL132] Remove some calls that let a value escape.
Bug: 8636060
Change-Id: I696514934586ee71e734fd974026af8b2c866127
2014-04-03 15:36:15 +09:00
Jean Chalard a777c1c460 [IL129] Change some confusing method names.
Bug: 8636060
Change-Id: I2f55fc23d7e05b63582a3f0660b58635eae5ec59
2014-04-02 18:10:18 +09:00
Jean Chalard 6bd3723e73 [IL128] Remove passing some handlers.
Bug: 8636060
Change-Id: I088be9a7555265ca097667523defd73be4cbe37f
2014-03-27 17:51:32 +09:00
Keisuke Kuroyanagi adfb262797 Remove logic related to dictionary loading from LatinIME.
Make mSuggest final and give DictionaryFacilitator the
responsibility to manage dictionary loading state.
This can simplify the logic to decide how to deal with
additional dictionaries when loading settings or language
switching.

Bug: 13273534
Change-Id: I9f3d328272f25addfa186fbeedaaf8417455ba99
2014-03-25 15:35:20 +09:00
Jean Chalard 4df6bc0853 Merge "[CB10] Add an event for string input" 2014-03-20 11:34:16 +00:00
Jean Chalard 058a38988b [CB10] Add an event for string input
Change-Id: Ie5da6c73d4df4553067c58cd0dce9abb34534250
2014-03-20 19:47:01 +09:00
Jean Chalard 350d73932d [IL127] Move the double space countdown to InputLogic
Bug: 8636060
Change-Id: Ie193b747bd9d0b5ba6a986b9a3c746c2182742ed
2014-03-19 17:47:03 +09:00
Jean Chalard 554346e94c [IL126] Move a setting value to SettingsValues
Bug: 8636060
Change-Id: I7cb082df13a10cf5a3aa5786e6a9599376652dee
2014-03-19 17:47:03 +09:00
Jean Chalard 46e17983c6 [IL125] Remove arg to onPickSuggestionManually
Bug: 8636060

Change-Id: I55332c22897e97148621cbd367acf5175b5b3d04
2014-03-19 17:47:03 +09:00
Jean Chalard 1110adad11 [CB07] Small refactoring
Bug: 8689779
Change-Id: I2cf10c690c7e4a9c6bf27211d1fccc1f9d4a9249
2014-03-17 21:26:36 +09:00
Jean Chalard 5eac728b4a [CB06] Fix a design error.
The event interpreter should intervene later, after decoding.
Decoding should happen first, and then the Event should
be passed to the InputLogic.

For the time being, we will leave the (unused) EventInterpreter
class and its friends, because we'll use them again later.

Bug: 13406701
Change-Id: I7582d486724311e39e6692e606cca50c78800643
2014-03-17 20:49:29 +09:00
Jean Chalard a79a3265db [CB02] Pass an Event to onCodeInput.
Bug: 13406701
Change-Id: Id82e9aab6544ca308e6ac6dee2cfa018b9ce2d8f
2014-03-13 18:41:02 +09:00
Jean Chalard a1bf550294 [IL124] Remove the KeyboardSwitcher arg to onCodeInput
Bug: 8636060
Change-Id: I29ce4c82ea880a937b1c9e5daf494fcdbbdd1336
2014-03-06 14:20:41 +09:00
Jean Chalard 151761a276 [IL120] Cleanup
Remove useless arguments, local vars, make stuff private

Change-Id: I7cc6c19e9c1703304d593e02be31eb9569cc7b4e
2014-03-04 17:52:14 +09:00
Jean Chalard 0e489d1ba3 [IL118] Factorize a method
If we can't get the right locale from the subtype switcher, we
should fallback in all cases.

Change-Id: I46a53a67927a793d9d3592a996a5a4392a36c6ff
2014-03-04 17:52:14 +09:00
Jean Chalard 129ca9e7eb [IL117] Simplification
Change-Id: Id4d4f30ecdc80dd59543f90fe2525f4bcc5afb9d
2014-03-04 17:52:11 +09:00
Jean Chalard 2ca916c215 [IL116] Inline a method
Change-Id: I6af8f2bd6b4917f9b119ff78a0f299b2f6fb921e
2014-03-04 14:46:04 +09:00
Jean Chalard e110018e2a [IL114] Move a method to InputLogic
Bug: 8636060
Change-Id: I0d8f93985ddc6e93ce9af0d92a8056620351a498
2014-03-04 14:46:04 +09:00
Jean Chalard 5d8f6660bf [IL113] More cleanup
We should not test punctuation with this equality test any more.
Also, whether the suggestion strip is displayed or not, or whether
the hint is displayed or not, has nothing to do with this method
and should be handled elsewhere rather than here -- and as a
matter of fact, it is, which makes this useless.

Bug: 8636060
Change-Id: I6a54ee87e4e9f81bc33158acf4a264c3abd5829d
2014-03-04 14:46:04 +09:00
Jean Chalard 145e8568f4 [IL112] Cleanup
Bug: 8636060
Change-Id: Ic7c2dec2521613d52707457463691bec383177ff
2014-03-04 14:32:02 +09:00
Jean Chalard 32c6d4caea [IL111] Remove a member.
...and improve encapsulation and readability.

Bug: 8636060
Change-Id: I36407630b307df0721ea7fdb7e7a22cdf2b018b3
2014-03-04 14:31:47 +09:00
Keisuke Kuroyanagi e76c273502 Merge changes I20ce61c4,I2edab4e3
* changes:
  Remove "Use only personalization dictionary".
  Remove redundant creation of dictionary facilitator.
2014-03-03 04:00:24 +00:00
Ken Wakasa 98534dc065 Add missing null checks for getOwnerInstance()
It may just return null.

Change-Id: I778fb48262ef8af28a4af50b70bb94ace75a488c
2014-02-28 16:13:51 +09:00
Keisuke Kuroyanagi e9926b0d11 Remove redundant creation of dictionary facilitator.
Change-Id: I2edab4e3ba4ea0b9b13f9bb224aac86cac9b9f31
2014-02-27 22:31:57 +09:00
Jean Chalard bd1caac16a [IL110] Remove an unused interface function
...and make a method private.

Bug: 8636060
Change-Id: If16f7e8ef3779f77a9db23fb7c54e7c23b043b86
2014-02-26 17:46:20 +09:00
Jean Chalard 23e22613d7 Remove useless args and processing.
Bug: 13062385
Change-Id: I426545d1fe8fd76bcf4d1dce19e6b571a55c79ae
2014-02-26 11:40:43 +09:00
Jean Chalard 296adf5710 Merge "Change a heuristic and add a log." 2014-02-21 11:58:16 +00:00
Tadashi G. Takaoka d73044a249 Add ImportantNoticeDialog
Change-Id: Icaeb7dddd16362cd4a6384d295f89c7fbabc8b35
2014-02-21 16:36:15 +09:00
Tadashi G. Takaoka fe39d576dc Support versioned important notice
This change must be checked in together with If38a754d00.

Bug: 10587358
Change-Id: I91580f9468bc5ee7ed1694d7852a60dc6793dac0
2014-02-21 09:54:08 +09:00
Jean Chalard 3b4c1d3056 Change a heuristic and add a log.
The heuristic in RichInputConnection makes little sense
when textLength > mExpectedSelStart but we have
more than 1024 characters of text. If there are that many,
it's about 100% sure that 1024 is not the correct cursor
position. With no good guess, we'll just continue trusting
the app, even though we know it's lying : at least it will
make the problem visible to the app author.

Also, there have been a lot of confusion about initialSelStart
and initialSelEnd. The keyboard should log them so that
it helps us and editor authors debug more easily these
common problems.

Issue #65170 in AOSP and
Bug: 12772035
Change-Id: I6665a16c9f2832d33ee323f033bb38bcc092a3b4
2014-02-20 23:49:20 +09:00
Jean Chalard a118d19f6c Merge "Don't distrust the cursor pos so much as to bug on IPC delay" 2014-02-20 14:22:48 +00:00
Jean Chalard 3c84eb8822 Don't distrust the cursor pos so much as to bug on IPC delay
When the cursor is moved by the user, the RichInputConnection
is told about it. However, to work around a framework bug, it
also looks at how many characters are in the buffer before the
cursor, and if that's more than the value it's been passed, it
deduces that's a framework bug and there are at least as many
characters as seen before the cursor, so it puts the expected
cursor position there.

When you move the cursor, TextView calls onUpdateSelection,
and when you move it fast, you'll get rapid-fire calls to
onUpdateSelection. This is fine, the RIC is equipped to
deal with that.

However, these calls take some time to make it to the IME. In
this instance, when the first call gets through and the IME
calls TextView (synchronously) for text before the cursor, the
cursor has already moved in the app, and TextView returns more
characters than the cursor position was declared to be in this
instance, so the RIC sets that as the expected cursor position.
Sure enough, a split second later, the second call to
onUpdateSelection arrives, with the new cursor position set
where the RIC had found it too early. The RIC takes that as an
"expected" cursor move, and the input does not get reset.

Luckily, we have a way out. As far as we know, the framework bug
only manifests itself upon rotation, which means we should only
have to adjust for it in onStartInputView. Doing it in
onUpdateSelection is too zealous (and probably too distrustful of
the app to send the correct cursor positions).

So we should just take care of the rotation case (by calling
tryFixLyingCursorPosition in onStartInputView) and remove the
compensating code in resetCachesUponCursorMoves.

Bug: 12982502
Change-Id: Ic3c1408a1ec45deaea63b01d98376a79ae567d77
2014-02-20 23:13:14 +09:00
Keisuke Kuroyanagi d36328cecf Add test only methods to test personalized dicts.
Bug: 11122480
Change-Id: I79a4a73ff09a2d34d4ca094d705e901fb4bc855c
2014-02-20 22:20:43 +09:00
Keisuke Kuroyanagi a514ea7e1b Merge "Check all enabled IME's subtypes to enable personalization." 2014-02-20 09:33:21 +00:00
Tadashi G. Takaoka 1672ccbbb6 Change important notice version preference file
This CL also reset the notice version to 1.
This CL must be checked in together with Iea8d9ff038.

Change-Id: I838f7b5b295388d64d6aba90f50b06654eba16e5
2014-02-20 16:50:34 +09:00
Keisuke Kuroyanagi 6b23749dec Check all enabled IME's subtypes to enable personalization.
Bug: 13067743

Change-Id: I6fc68b5151430a5ab51777f4c381e20f5a657924
2014-02-20 15:05:37 +09:00
Keisuke Kuroyanagi 34fb962513 Call PersonalizationDictionarySessionRegistrar.init().
Wrongly removed in I1f50cb137b6054dc9.

Bug: 13067743
Change-Id: I27cd221cb7f6e403c3fc128d65d14dbf628b6f55
2014-02-19 23:27:14 +09:00
Keisuke Kuroyanagi d102eb80da Remove personalization dicts for multilingual users.
Bug: 13067743
Change-Id: I1f50cb137b6054dc9442237586b70fc0aa2bf427
2014-02-19 21:00:27 +09:00
Tadashi G. Takaoka 920c40fe45 Use AlertDialog.setOnDismissListener
AlertDialog.Builder.setOnDismissListener is supported from API 17.

Bug: 10587358
Change-Id: Ie8ce8e283b803f7f6bb58ced446e676339f980eb
2014-02-19 19:05:06 +09:00
Tadashi G. Takaoka ed616083dd Merge "Turn personalization on when important notice dialog is displayed" 2014-02-19 09:46:15 +00:00
Tadashi G. Takaoka 6abc852255 Turn personalization on when important notice dialog is displayed
This change must be checked in together with Ifde70b1d3b.

Bug: 10587358
Change-Id: I9dc48f9d521e0e6f6269e4f184389ba805f3053f
2014-02-19 18:36:32 +09:00
Keisuke Kuroyanagi e49e007bb2 Fix: Use old suggest after reloading.
Change-Id: Icb2821f61c4203254b7d573cad5ce71fbf0ed841
2014-02-19 12:34:09 +09:00
Jean Chalard 783dabb812 Merge "Cleanup." 2014-02-18 09:54:33 +00:00
Jean Chalard 63be066544 Cleanup.
Less code, less chance of stuff escaping, and a bit of a clarification.
Yay.

Change-Id: I3193fd8ad7ac28195260cbc231c4e498a63a460c
2014-02-18 17:07:46 +09:00
Ken Wakasa 12ff7da19d Some cosmetic fixes in LatinIME.java
Change-Id: Ia2d04ab992f5a0cc736150b2691b2f8ae8f0955d
2014-02-18 14:56:50 +09:00
Ken Wakasa 2312c1954f Cosmetic fixes
Change-Id: I6c755565ba7689357d02d26cc0e92a93031953e8
2014-02-18 12:17:24 +09:00
Tadashi G. Takaoka affdd36423 Set neutral suggestions should be called after load settings
Bug: 13058751
Change-Id: Iba49e86b90d595473d91753827d499e551dad45c
2014-02-18 11:04:00 +09:00
Tadashi G. Takaoka f0f4e9fc16 Update important notice version even when user select Settings
Bug: 13060852
Change-Id: I463fdf3d51cacf99693fcde2998ea751046d1cc5
2014-02-18 00:14:30 +09:00
Tadashi G. Takaoka 4c628b9d5b Merge "Don't show important notice on password field" 2014-02-17 08:04:11 +00:00
Tadashi G. Takaoka ce78a2d8ab Don't show important notice on password field
Bug: 10587358
Change-Id: Ieff7960e5e2b8609fddeb173af578a5d9b2c4d98
2014-02-17 15:38:43 +09:00
Tadashi G. Takaoka 28c02b400f Add go to "Settings" button to important notice dialog
This CL also
- removes icons on important notice title.
- changes the "Personalized suggestions" summary text.

This change must be checked in together with Id115d89ba9.

Bug: 10587358
Change-Id: I52ff26fa8ae12445e9014ba08253f69e1be609f4
2014-02-17 14:57:04 +09:00
Tadashi G. Takaoka a273319c59 Add PunctuationSuggestions class
This change must be checked in together with I366c477516.

Bug: 12640318
Change-Id: I8d3864b9d9649c9e3306e82b01a6327b11281b1f
2014-02-14 14:13:39 +09:00
Jean Chalard 4197c6f3ab Merge "Show the suggestion strip for the important notice" 2014-02-14 04:07:46 +00:00
Jean Chalard 367a35d377 Dump settings.
Bug: 10315296
Change-Id: Ieb020a23886514b3ba97611d8a6001f32b322f63
2014-02-12 22:53:15 +09:00
Jean Chalard 8adedbf47c Show the suggestion strip for the important notice
Bug: 10587358
Change-Id: Ia060a9ca9dfc2e7fe0750536a9fea3b9cc5900c4
2014-02-12 17:30:04 +09:00
Tadashi G. Takaoka 7ffac033ac Make importance notice dialog cancel able
Bug: 10587358
Change-Id: I7415a6f33e6b5542718164fea1555095d23233e5
2014-02-12 11:59:43 +09:00
Tadashi G. Takaoka 8dda9e480b Show important notice strip
Bug: 10587358
Change-Id: I1af3faa59afb2fc4cb90176acff1c2b0b1ba369c
2014-02-10 21:15:35 +09:00
Jean Chalard a9e1930a6a Merge "Conditionally store the raw suggestions." 2014-02-06 07:31:22 +00:00
Jean Chalard a49f61f8a7 Conditionally store the raw suggestions.
Bug: 12913520
Change-Id: Ie15f97d90c142c51089280252b35b5ad1d226e19
2014-02-06 16:14:41 +09:00
Keisuke Kuroyanagi f2d15d6956 Unregister DictionaryDumpBroadcastReceiver in onDestroy().
Change-Id: I83a05a8369c2fe2fa7522f18eb00983a0b10dc19
2014-02-06 15:37:41 +09:00
Jean Chalard 2bb1c6add9 [IL109] Move more code to InputLogic
Bug: 8636060
Change-Id: Ib12eacc836e8d39c4165c97a2a287f32f6bf5405
2014-02-05 14:49:59 +09:00
Jean Chalard 2c01dd00f2 [IL108] Remove some uses of LatinIME in input logic.
Access the suggestion strip through the interface instead.

Bug: 8636060
Change-Id: Ia8bd705c230f943e309d677ef683b1a2cbe68036
2014-02-05 14:49:59 +09:00
Jean Chalard ade1aa55b6 [IL107] Add an interface to access the suggestion view.
Bug: 8636060
Change-Id: I603af6bcdaa31f64aaaf916784720a133388c737
2014-02-05 14:49:57 +09:00
Keisuke Kuroyanagi 36c7a62dff Add dictionary dump buttons in debug settings.
Bug: 11736680
Bug: 12810574
Change-Id: I1f797b5ac6acf94b40d9698d4535e8f5da2bfb17
2014-02-04 21:29:09 +09:00
Tadashi G. Takaoka b06e455797 Clear important notice strip
Bug: 10587358
Change-Id: Ic90e5825200a1d424aac4ba263b252187a203241
2014-02-03 18:28:21 +09:00
Tadashi G. Takaoka a2d83dfdc7 Merge "Show important notice dialog" 2014-02-03 08:04:03 +00:00
Tadashi G. Takaoka 342e81e7a6 Show important notice dialog
Bug: 10587358
Change-Id: I3b4282a1bb183aa901110a4a2fc1b6ed72818aae
2014-02-03 16:21:53 +09:00
Jean Chalard 5d9be8039c Merge "Have empty suggestions go through setNeutralSuggestions." 2014-02-03 06:45:45 +00:00
Jean Chalard 2cbf152986 Have empty suggestions go through setNeutralSuggestions.
Bug: 12865205
Change-Id: If17a390c445d0820325a9b16cc4f2f27a361187a
2014-02-03 15:33:00 +09:00
Tadashi G. Takaoka 8a296e43c9 Add important notice strip
This change is a groundwork to show important notice.

Bug: 10587358
Change-Id: I80aa70d30e2a529b37798f0df2183b41df3ac38a
2014-01-31 20:07:27 +09:00
Tadashi G. Takaoka 9b1a66843d Show "Touch again to save" in system locale
Bug: 12811156
Change-Id: I928daf17297ec5c526720850d6203cb9af0496ac
2014-01-30 18:03:23 +09:00
Jean Chalard ac84fe642e [IL106] Inline a now useless method.
Bug: 8636060
Change-Id: Ic8e0225206358680aa0de421f17ab443c888036d
2014-01-29 12:23:40 +09:00
Jean Chalard fa7075768d [IL105] Remove more useless arguments
Bug: 8636060
Change-Id: I9e817bb9622c84544a5ca8708e5c1fccad1ed447
2014-01-29 12:23:26 +09:00
Jean Chalard 084c9961f4 [IL104] Remove useless arguments
Bug: 8636060
Change-Id: I97a371fe0c6227eb0f03d3e391a33726e6280322
2014-01-29 12:23:25 +09:00
Jean Chalard 1d2e4f9dcc [IL103] Save the typed word separately in SuggestedWords.
This helps managing the cases where the typed word is not
in the suggestions. This happens during recorrection.

Bug: 8636060
Change-Id: I6784feb793cae96272a7f1d123a0e3bbb8f03143
2014-01-29 12:22:21 +09:00
Jean Chalard c9cc1b1de5 [IL102] Rename a method
Bug: 8636060
Change-Id: Ia54afdfab9124aa5c35699e357e63eae66a7557f
2014-01-28 17:18:02 +09:00
Jean Chalard 4500dedfa9 [IL101] Remove a method
Bug: 8636060
Change-Id: Ic9c12fc6970987b0e1912e8ae85bed55260d66b5
2014-01-28 17:18:02 +09:00
Jean Chalard 491a6a6f23 [IL100] Pull up a check
Bug: 8636060
Change-Id: I344ed59f5f55b412880fc6dc70205eecb1e79961
2014-01-28 17:18:01 +09:00
Jean Chalard 4761d2fb00 [IL99] Migrate some code to InputLogic.
Bug: 8636060
Change-Id: Ibf1f9c7bdc3fdd872d6c15447fa555434485cc52
2014-01-28 17:18:01 +09:00
Jean Chalard 675f1dbaf0 [IL98] Refactoring of setSuggestedWords
Bug: 8636060
Change-Id: Iab53df96f2c23bddc6c70c3560b380fbaef1053c
2014-01-28 17:18:01 +09:00
Jean Chalard eb00023b9b [IL97] Readability improvement
Bug: 8636060
Change-Id: I6b15c7fb91cd4cf23a993541c19842b51e328f8f
2014-01-28 17:17:58 +09:00
Tadashi G. Takaoka 95e5e267ac Merge "Suggestion strip honors RTL layout" 2014-01-28 07:52:25 +00:00
Tadashi G. Takaoka bcd30bf3e7 Suggestion strip honors RTL layout
Bug: 9126496
Change-Id: Ia4a1c52bd2a80ea7fe6b9529f2767fee5f9e8aeb
2014-01-28 15:47:54 +09:00
Jean Chalard 86210c7dc7 [IL96] Inline a method
Bug: 8636060
Change-Id: I517591c484dce74788398cf4a4db9a074d91a6c0
2014-01-28 15:47:04 +09:00
Jean Chalard 90916143b6 [IL95] Inline a method that's always called in sequence
Bug: 8636060
Change-Id: I514cf14596b3fa46eccadcf536342e4bb805708d
2014-01-28 15:47:01 +09:00
Jean Chalard 5b5e877efe [IL94] Remove a function and some reordering
Bug: 8636060
Change-Id: I4baa237c9c7b58a8eb4158c34b9d3f3dfb95c69c
2014-01-27 20:38:45 +09:00
Jean Chalard 37e1cc931f [IL93] Refactor a method inside another
The calls to setAutoCorrectionIndicator with a constant are
always the exact same as mWillAutoCorrect.

Bug: 8636060
Change-Id: I8106919819b978b0a9655af2ef444664fad4c1ad
2014-01-27 20:38:45 +09:00
Jean Chalard 4c6029e530 [IL92] Straighten out showSuggestionStripWithTypedWord
Bug: 8636060
Change-Id: I066ff29c76349f0ab61441ea5f7bc9085d24bdbc
2014-01-27 20:38:45 +09:00
Jean Chalard c6367ee64d [IL91] Call reorder
Bug: 8636060
Change-Id: I3d0ce6dcb3b51cabc424d00a397d243c32360e92
2014-01-27 20:38:43 +09:00
Jean Chalard d38b0468b0 [IL90] Small refactoring
Bug: 8636060
Change-Id: I37844ab1c5c61ea940897e7d72bb79c7b329f743
2014-01-27 18:42:33 +09:00
Jean Chalard 33ff321d6c [IL89] Inline a function
We will then refactor the contents of showSuggestionStripWithTypedWord

Bug: 8636060
Change-Id: I8a2a0d50b79fcc7ad21b01a0060b9fa7e4c1bdd6
2014-01-27 18:42:33 +09:00
Jean Chalard ca819178a1 [IL88] Simple refactoring
With this, the value passed to suggestedWords is never null.

Bug: 8636060
Change-Id: I433dd7e7290125e217e05cc20bee7a4b58fe083f
2014-01-27 18:42:33 +09:00
Jean Chalard d90bdd2187 [IL87] Remove a call to clearSuggestionStrip
The goal is to remove the function completely.

Bug: 8636060
Change-Id: I50b8f0368c8f6506209398ff931881e2235c3d2d
2014-01-27 18:42:33 +09:00
Jean Chalard 07eddf3c43 [IL85] Maybe show punctuations when app completions are null
When the app goes to the trouble of supplying completions,
but supplies null, then we should show punctuations if
settings allow.

Bug: 8636060
Change-Id: I33c32566039c80df61fcca3fab346fd336d96a12
2014-01-27 18:42:32 +09:00
Jean Chalard b2c0388a69 [IL84] Remove a useless call and rename a method
Bug: 8636060
Change-Id: I5cac787953a3c71b6402520c2f5c70619d4a40a8
2014-01-27 18:42:32 +09:00
Jean Chalard eb190ab32f [IL83] Inline a call
The coming string of changes is very complicated, so
I'm going to do things really slowly.

Bug: 8636060
Change-Id: Id8a07a154ac514e9b3307ead22d47c3ae6fa732b
2014-01-27 18:42:32 +09:00
Jean Chalard 17f1528f9e [IL82] Fix a wrong comment
Change-Id: I6e16b4e05010a08f4d1da34145f819c32b3bc79e
2014-01-27 18:42:32 +09:00
Jean Chalard f59487379e [IL79] Some refactoring
Bug: 8636060
Change-Id: I931c553f68a1f15d22711a661dbffd4e5d421979
2014-01-27 18:42:29 +09:00
Jean Chalard 10460441db [IL78] Move most of onUpdateSelection to InputLogic.
Bug: 8636060
Change-Id: I7290250637e37bf6964bab71d2141e19f20a5459
2014-01-27 18:42:04 +09:00
Jean Chalard 68d7291a6b Merge "[IL77] Remove refs to Settings from InputLogic" 2014-01-27 09:29:50 +00:00
Jean Chalard 7bee84095e Merge "[IL75] Move the SubtypeSwitcher out of InputLogic." 2014-01-27 09:24:10 +00:00
Jean Chalard 48df380f78 [IL77] Remove refs to Settings from InputLogic
Bug: 8636060
Change-Id: I4ce5c9b62181ce8593a453ce222ae7d1fdc08f07
2014-01-27 18:18:54 +09:00
Jean Chalard 969c06072d [IL75] Move the SubtypeSwitcher out of InputLogic.
Bug: 8636060
Change-Id: I2a5da27e73cf378e55bd80ab2054c1ba8b13f6ec
2014-01-27 18:18:27 +09:00
Jean Chalard 5cf70a1d44 Merge "[IL74] Remove unused/unwanted arguments to a method." 2014-01-27 08:57:12 +00:00
Jean Chalard 0fd556ceca [IL74] Remove unused/unwanted arguments to a method.
Bug: 8636060
Change-Id: I3c5213cc57b5b5febd25f14d40c197d2da43dfb8
2014-01-27 16:48:17 +09:00
Ken Wakasa 03283b636c Follow up to Ic7d2cbb2c1b2deaa4e735484bdc7413c0b3b1939
some cleanups as well

Change-Id: I92252eb7b13cb70283a79f50429ed77405ea9575
2014-01-27 16:08:27 +09:00
Jean Chalard 1d6e647ac3 [IL69.1] Move a static method to a utility class.
This is a followup to IL69.

Change-Id: Iba154517aa7f75b9f16aa1b808c0da8d84be837f
2014-01-24 11:59:23 +09:00
Jean Chalard 1284e556f4 [IL70] Remove unused arguments
Bug: 8636060
Change-Id: Iec56bce362ebfc52fedab02b127978abb4f3c7f9
2014-01-23 15:33:14 +09:00
Jean Chalard d1f463eacf [IL69] Oust Keyboard from WordComposer#setComposingWord
Bug: 8636060
Change-Id: I624a45500603dfad355ee3b8b794b2d895219c0b
2014-01-23 15:32:59 +09:00
Jean Chalard eb6d41a525 [IL67] Externalize a call to the keyboard switcher
Bug: 8636060
Change-Id: Ib13a54854e30afb79217a0a1f2aeca50a95ba155
2014-01-23 13:10:02 +09:00
Jean Chalard ab80b41a0d [IL66] Remove two accesses to KeyboardSwitcher.
Bug: 8636060
Change-Id: I3b144993e2bcd552f9b292b8f057c9db4216125c
2014-01-23 13:09:58 +09:00
Jean Chalard a91dfff5e5 [IL65] Pull up X,Y processing, step 4
This works because getKey{X,Y} is a no-op on
Constants.NOT_A_COORDINATE.

Bug: 8636060
Change-Id: I2f7dd96b6011f094110f7978f8ff24ef2a6e2585
2014-01-22 14:44:27 +09:00
Jean Chalard 352286a43b [IL64] Pull up X,Y processing, step 3
Bug: 8636060
Change-Id: Ic051e5d5514d270101b0571a2d30e2caa8f85bc1
2014-01-22 14:44:25 +09:00
Tadashi G. Takaoka 3033cc51b8 Refactor logic to retrieve relevant suggestions a bit
Change-Id: Ic7d2cbb2c1b2deaa4e735484bdc7413c0b3b1939
2014-01-20 12:08:25 +09:00
Jean Chalard 17bd129faf [IL59] Rename a method
Um... this is not async ? Remove that from the name

Bug: 8636060
Change-Id: Ida5f9bd6929eae75103eb2e3fb866ed7468af806
2014-01-17 02:10:56 +09:00
Jean Chalard ac6dfaf80b [IL58] Simplification
No need to test multiple times for this. Let's just never do useless
stuff, and only test for that once.

Bug: 8636060
Change-Id: I50a9e4da769fbec44fbb12eedfed03aad924cc2c
2014-01-17 02:10:51 +09:00
Jean Chalard 4752b68f5a [IL56] Don't erase suggestions when reverting a commit.
Bug: 12297051
Change-Id: Iffa1c98b8fe2b816c3ac6bc171037288107f637d
2014-01-16 03:22:46 +09:00
Jean Chalard 6c24b91601 [IL55] Remove a useless argument.
Change-Id: I0b3a6cdf49038c32194413c21da824784a53f581
2014-01-10 20:28:50 +09:00
Jean Chalard a224aafea3 [IL54.5] Use the cursor pos estimate, not the last value
For edit tasks, the estimate is actually the right thing to use.
This is really dangerous, but it will get rid of pretty much all
race conditions.

Change-Id: I2d5ca3ce45e32f1bd9c8b778421fd54b9c1f6f63
2014-01-10 19:08:47 +09:00
Tadashi G. Takaoka 494e2d6c17 Passing SpacingAndPunctuations to RichInputConnection.getNthPreviousWords
Change-Id: I174c50f509ed6998b755e1a712e7f6c0f82f4425
2014-01-09 18:33:25 +09:00
Keisuke Kuroyanagi 9f1fe87580 Make reloadMainDict() private.
Bug: 8187060
Change-Id: I852a751d748f39512e62c9cd69748dfbe87b2151
2014-01-08 18:59:43 +09:00
Keisuke Kuroyanagi b3c51630a6 Fix: NPE in LatinIME.loadSettnigs().
Change-Id: Icae6c74401a7a8f4da6015737f09f557640c0cca
2014-01-08 12:43:58 +09:00
Tadashi G. Takaoka 385031557b Merge "Separate spacing and punctuation related settings values" 2014-01-08 02:41:51 +00:00
Tadashi G. Takaoka 0b593ce858 Separate spacing and punctuation related settings values
Bug: 12179576
Change-Id: Ibafd824a0ea2251843b388e95dcbd8f9bca92d5c
2014-01-08 10:02:37 +09:00
Keisuke Kuroyanagi c09fd175c3 Prepare using dictionaryFacilitator for amanatto updates.
Bug: 11736529
Change-Id: I0d9d9b1c1108b11064163df7c2089f53e92cd7ad
2014-01-07 18:11:23 +09:00
Keisuke Kuroyanagi 55713e3695 Update personalized dict only when single subtype is used.
Bug: 12424891
Change-Id: If041d1ab45988dbf9b878ae3367fee0fbc8a8988
2014-01-07 18:10:27 +09:00
Jean Chalard 1e50c681af [IL52] Remove a useless method.
This old method doesn't even re-read the old suggestions. It used to
recompute them without the coordinates.
Re-using the recorrection code, which is much more advanced, is
the right thing to do here.

Also, refining the test. It's no use trying to resume suggestion
if we don't have a suggestion strip, since we aren't going to
auto-correct anything anyway.

Not the motivation for this change, but this also fixes
Bug: 11620256
Change-Id: Id49efa32e293c49837c61fdc752c86bbac1d2c88
2013-12-27 22:40:19 +09:00
Jean Chalard 53c320e275 [IL50] Move the InputUpdater out of LatinIME.
...at last

Bug: 8636060
Change-Id: If5e27a9d28ff64d318dd76792f55edfc8a78d2d7
2013-12-27 21:09:41 +09:00
Jean Chalard 81e0ca5fd3 [IL49] Move InputLogic-related init code to InputLogic.
Bug: 8636060
Change-Id: Ie5027512f066d9c530a686ac559e4649a39bf439
2013-12-27 20:06:39 +09:00
Jean Chalard d05ea8bd82 Merge "[IL48] Move onEndBatchInputAsyncInternal to InputLogic." 2013-12-27 08:06:48 +00:00
Jean Chalard af26a44102 Merge "[IL47] Inline getSuggestedWordsGestureLocked" 2013-12-27 08:04:51 +00:00
Jean Chalard 51e79fb4b2 Merge "[IL46] Remove a useless message passing." 2013-12-27 07:56:56 +00:00
Jean Chalard 2fc1cc099f Merge "[IL45] Remove lingering messages" 2013-12-27 07:56:44 +00:00
Jean Chalard c654fe57b1 [IL48] Move onEndBatchInputAsyncInternal to InputLogic.
Bug: 8636060
Change-Id: Idfabf7231a80e21786ce1910b5140bb3dddcac7d
2013-12-27 16:50:08 +09:00
Jean Chalard 4a144b9b4d [IL47] Inline getSuggestedWordsGestureLocked
This method is confusing with the *Locked convention, and
the two-step call creates a useless callback object. This is
better inlined both for readability and for performance.

Bug: 8636060
Change-Id: I7c427c3ca4e831388a6d54de6728b32206a45d80
2013-12-27 16:50:08 +09:00
Jean Chalard 71a3e96382 [IL46] Remove a useless message passing.
The only point of this message is to send the processing on another
thread. However, this will be accomplished later.
Here is the exact call graph:
0. onUpdateBatchInput
1. -> MSG_UPDATE_GESTURE_PREVIEW_AND_SUGGESTION_STRIP
2. -> updateBatchInputSync
3. -> getSuggestedWordsGestureLocked
4. -> MSG_GET_SUGGESTED_WORDS
5. -> LatinIME#getSuggestedWords

The point of both step 1. and step 4. is to make sure the processing
is happening on the InputUpdater thread. Thus, it's useless to do
it twice.

Bug: 11326092
Bug: 8636060
Change-Id: Iceebb9e8879a8f15b73c987f5fd3489f27699be4
2013-12-27 16:50:06 +09:00
Jean Chalard 0d21223521 Merge "[IL44] Some factorization" 2013-12-27 06:58:12 +00:00
Jean Chalard 31ff2a4335 [IL45] Remove lingering messages
Bug: 8636060
And possibly bug: 12085864

Change-Id: I867036bc3d8bd255dc8ceebdd30e28b4b3dc4b2d
2013-12-27 15:34:30 +09:00
Jean Chalard 69e7a0d24d [IL44] Some factorization
This sheds some light on what's happening here. Some
comments were at least misleading, maybe indicating something
is not sequenced as intended.

Bug: 8636060
Change-Id: Ia74feb457a39fe4a672c27fe4203264fda940f04
2013-12-27 15:34:26 +09:00
Keisuke Kuroyanagi c197b9ed90 Merge "Make setAdditionalDictionaries private." 2013-12-27 06:22:18 +00:00
Keisuke Kuroyanagi abc3d0eb56 Make setAdditionalDictionaries private.
Bug: 8187060
Change-Id: I17be7b77ff89972d3ca6823b087b7bf35105af56
2013-12-27 14:49:32 +09:00
Jean Chalard f441047fad [IL43] Small cleanup
All calls are already passing this

Bug: 8636060
Change-Id: I13accefd7c17039dc5ec12dc9e8133ebc86451ad
2013-12-26 22:12:24 +09:00
Jean Chalard c28f02880c [IL42] Inline getSuggestedWordsOrOlderSuggestionsAsync
Bug: 8636060
Change-Id: I5c47370a3ea5962caff4d40db2faa62accfc7147
2013-12-26 22:12:22 +09:00
Jean Chalard 70433efc41 [IL41] Remove a useless call and trampoline.
No point in calling maybeRetrieveOlderSuggestions now that the
same work is done right here. The callback is also useless now.

Bug: 8636060
Change-Id: Ic14849cb6f6e6293a42cfe068f5c6b18b7677bc0
2013-12-26 21:58:41 +09:00
Keisuke Kuroyanagi a374482719 Extract dict operations from Suggest to a new class.
Bug: 8187060
Change-Id: I77775aa50763158d99753c2312fa11fe14267aef
2013-12-26 20:48:19 +09:00
Jean Chalard 5c45ff1214 [IL39] Change a test.
I don't see why we would want to remove other suggestions just because
the only suggestion happens to be a dictionary word. That's just
inconsistent.

Bug: 8636060
Change-Id: Ie2d990e5785273d625e6e5518026364165a8f2df
2013-12-26 18:44:17 +09:00
Jean Chalard 98140faac3 [IL38] Fix a wrong double call
This only gives bad results if a gesture results in only one suggestion.

Change-Id: I5a2f27f83f6901a5a9ecf22f02bdfc9cca6d9f1d
2013-12-26 18:43:47 +09:00
Jean Chalard 30a72da42c [IL37] Small simplification
Bug: 8636060
Change-Id: I08a6c04986a0bd86ce4c232893e804766ebeebb9
2013-12-26 13:51:09 +09:00
Jean Chalard c08119e5c1 [IL36] Inline setAutoCorrection
There are far too many one-use methods.

Bug: 8636060
Change-Id: I84e0669b8d2cc5a2817c42b089e874dc60e84769
2013-12-26 13:18:36 +09:00
Jean Chalard 52a2682b99 [IL35] Preparative cleanup
Bug: 8636060
Change-Id: Id6791085816891c78289b0223bf0807db2da6300
2013-12-25 22:25:49 +09:00
Keisuke Kuroyanagi bb39518bd7 Use SettingsValues instead of Settings in Suggest.
Bug: 8187060
Change-Id: Idba1e708d67c036072b728949d17f8bd98ae0115
2013-12-25 18:53:04 +09:00
Keisuke Kuroyanagi eea7122e5b Move dict operations to Suggest.
Bug: 8187060

Change-Id: Iabe13abcd43b381360f7080b3f4ee0533f246160
2013-12-25 15:26:50 +09:00
Keisuke Kuroyanagi f1457e7a22 Remove personalized dicts when the option is turned off.
Bug: 11757851

Change-Id: I94f32859d862fe41e39845ab2bfc2d396c6aea0f
2013-12-25 11:44:16 +09:00
Jean Chalard 8476c2e788 [IL33] Opportunistically remove some KeyboardSwitcher
Bug: 8636060
Change-Id: I0480ac03b9902e940f566b5558b8499647983968
2013-12-24 15:11:35 +09:00
Jean Chalard 1587be6977 [IL31] Move *BatchInput to InputLogic
Bug: 8636060
Change-Id: If0309be038518a71d735108b78ac9efbfe38c82b
2013-12-20 21:24:27 +09:00
Jean Chalard 059f4c2f39 [IL30] Minor refactoring
Change-Id: I8a8aa9f703c6fca5e25ec573b41f325680ac92dc
2013-12-20 20:47:44 +09:00
Jean Chalard 0547b33130 [IL29] Move retryResetCaches and tryFixLyingCursorPosition
Bug: 8636060
Change-Id: I45b322e4844f023e91b80f9c2e0f7fa0166bcc59
2013-12-20 20:47:29 +09:00
Jean Chalard 81e8d16031 [IL28] Remove useless code
I don't understand why this was checked in. The tests are completely
useless, that makes the variables write-only, and the only side effect
is useless as the keyboard commits suicide upon exiting debug
settings.

Change-Id: I4eb25295183f43a2e947a6a0467ea168d023c18a
2013-12-20 19:48:05 +09:00
Jean Chalard 55ce2cc2d5 [IL27] Some refactoring
Bug: 8636060
Change-Id: Iedfdf71350f5fe3ab451fc5ec6e3c9901f71e50f
2013-12-20 19:24:38 +09:00
Jean Chalard 221df9e59a [IL26] Move restartSuggestionsOnWordTouchedByCursor
Bug: 8636060
Change-Id: I373874585f4fa663b4207b9a02d751805259eb36
2013-12-20 19:09:36 +09:00
Jean Chalard ec4b6e7bb3 [IL25] Inline handleClose
Only ever used here.

Bug: 8636060
Change-Id: Ia98c8bbe1c63ad4d057efe1cee87829b06124479
2013-12-20 18:44:13 +09:00
Jean Chalard aa161eb371 [IL24] Move mDisplayOrientation to SettingsValues.
Bug: 8636060
Change-Id: Id57ced0cca9dc9e5e85c3a53683588feb28c1402
2013-12-20 18:44:09 +09:00
Jean Chalard 11730aa224 [IL22] Move onTextInput to InputLogic.
Also pull the TLD specific processing

Bug: 8636060
Change-Id: I20931ac6fc6c55a05aa8f8b97b0210c07d230ea2
2013-12-20 16:50:14 +09:00
Jean Chalard 1404c1af85 [IL21] Move the workaround utils to a better place.
Bug: 8636060
Change-Id: I566f9e109ebcabe3a6a778118434ce79d02d1113
2013-12-20 16:48:54 +09:00
Jean Chalard 8a390023e1 [IL20] Remove some useless processing.
If we have the same text field, then the target app is
necessarily the same. No need to re-evaluate it.

Bug: 8636060
Change-Id: I66eb194c4cd08a6c1d47b26b99bd7f420130097e
2013-12-20 16:02:07 +09:00
Jean Chalard 4487a30e0d [IL19] Resolve a TODO.
Bug: 8636060
Change-Id: Iec7c1001c46cf8e9a44422e3f9008e437cc5cab6
2013-12-20 16:02:03 +09:00
Jean Chalard 2a6de7903c [IL18] Move and rename updateSuggestionStrip
Bug: 8636060
Change-Id: I3d00095cd0e83d1ee3834b37ff188b5aa9806fcb
2013-12-20 15:46:34 +09:00
Jean Chalard 1c0374da49 [IL17] Move commitChosenWord to InputLogic.
Also not-cache a value whose documentation says not to cache
it. That makes it write only, so remove it.

Bug: 8636060
Change-Id: I39798a039cebf79ad78a41fe457c9d9764a3f275
2013-12-20 15:13:48 +09:00
Jean Chalard a905fcec00 [IL16] Improve getTextWithSuggestionSpan
Dynamically test for the presence of main dict suggestions. This
is much more potent and more accurate than the vaguely defined
boolean.
Also, resolve a TODO and avoid creating an object uselessly.

Not directly related, but helpful with:
Bug: 8636060

Change-Id: Ib1745f77ee6d9ec7cd8bbfa5a548652ec84ec902
2013-12-20 15:13:48 +09:00
Jean Chalard 5c9e677c2a [IL15] Some small refactoring
Bug: 8636060
Change-Id: I4bfdf1628c9b55a79bd2d88ee30bf10b08a49232
2013-12-20 11:24:45 +09:00
Jean Chalard 48ba1f25ff [IL14] Move getCurrent*Caps* to InputLogic
Bug: 8636060
Change-Id: I6338dcee0f7a80f2181ba0369f71350cb21d231a
2013-12-20 11:24:42 +09:00
Jean Chalard bbe40835a9 [IL12] move restartSuggestions* to InputLogic
Bug: 8636060
Change-Id: I99474248e8fa35eb3053b5520abc8716805fdfb4
2013-12-19 20:30:41 +09:00
Jean Chalard 10755af97b [IL11] Cleanup
Make some methods private and add comments.

Bug: 8636060
Change-Id: I6c7d13dca8a22dd1a6f110e8b18d52864429579f
2013-12-19 20:13:14 +09:00
Jean Chalard 060e292628 [IL10] Move revertCommit to InputLogic
Bug: 8636060
Change-Id: Ia5788b365f05ae880bad957cbef00ecc93abb5d1
2013-12-19 19:30:26 +09:00
Jean Chalard 69a57bcdcd [IL9] Move commitCurrentAutoCorrection to InputLogic
Bug: 8636060
Change-Id: I405c4a537858a6d5ab0b29502a2792e8c3b2564e
2013-12-19 19:30:20 +09:00
Jean Chalard 035e3885ac [IL8] Move handleNonSeparator to InputLogic
Also move getActualCapsMode and getNthPreviousWordForSuggestion

Bug: 8636060
Change-Id: I1ee9162d0b7a517070c4b7420b084c973f061533
2013-12-19 18:32:51 +09:00
Jean Chalard d85e49bf8c [IL7] Move performRecapitalization to InputLogic
Bug: 8636060
Change-Id: I5bf2b1fa2f9338fe28151e66eac1ceda6dbd4a7f
2013-12-19 18:20:41 +09:00
Jean Chalard 40b42b7d84 [IL6] Move handleSeparator to InputLogic
Also move swapSwapperAndSpace, maybeDoubleSpacePeriod,
maybeStripSpace, promotePhantomSpace and canBeFollowedByDoubleSpacePeriod

Bug: 8636060
Change-Id: I864053d21c4b3d51ee7a3cd79053ca602337f6f8
2013-12-19 17:39:01 +09:00
Jean Chalard c8dfaab783 [IL5] Some renaming
Bug: 8636060
Change-Id: Id76889f8405458bcacb9c7c694cb193b27b842f3
2013-12-19 17:38:55 +09:00
Jean Chalard 37d3f1bd02 [IL4] Move handleNonSpecialCharacter to InputLogic.
Bug: 8636060
Change-Id: I9c6869c85db49d7f87e95a421389eaf47ae3ab2e
2013-12-19 16:46:57 +09:00