Commit graph

4856 commits

Author SHA1 Message Date
Keisuke Kuroyanagi
07e1412631 Purge dict reading code for 401 and create for 402.
Change-Id: Ib0150b3306bb2db8aff443d1158fecc8464cbbdb
2014-06-10 19:22:40 +09:00
Tadashi G. Takaoka
2385314be0 Merge "Refactor logic to determine showing suggestions strip or not" 2014-06-06 10:48:00 +00:00
Keisuke Kuroyanagi
7640bb1505 Merge "Make Distracter filter use getMaxFrequencyOfExactMatches()." 2014-06-06 10:44:04 +00: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
Keisuke Kuroyanagi
166d8c2293 Make Distracter filter use getMaxFrequencyOfExactMatches().
Bug: 13142176
Bug: 15428247

Change-Id: I5c23fbea2851f891f76f19d9da2cb70ae964569b
2014-06-06 19:38:44 +09:00
Keisuke Kuroyanagi
8cae9f50b4 Merge "Implement getMaxProbabilityOfExactMatches()." 2014-06-06 08:39:40 +00:00
Keisuke Kuroyanagi
d9b8602f48 Implement getMaxProbabilityOfExactMatches().
Bug: 13142176
Bug: 15428247
Change-Id: I5be6d683be95505412615ca7c88260de1ea05f54
2014-06-06 17:37:46 +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
Keisuke Kuroyanagi
0ee8644666 Merge "Add getMaxFrequencyOfExactMatches() to Dictionary." 2014-06-05 10:07:59 +00:00
Keisuke Kuroyanagi
d988fcc93d Add getMaxFrequencyOfExactMatches() to Dictionary.
Bug: 13142176
Bug: 15428247
Change-Id: I93b44ef40cafb6b811c68fa79f3a4971fc3916a5
2014-06-05 19:05:58 +09:00
Tadashi G. Takaoka
0dbf15f152 Merge "Rename some boolean variables for readability" 2014-06-05 09:33:05 +00:00
Tadashi G. Takaoka
a12d431c86 Merge "Refactor show voice key preferece migration code" 2014-06-05 09:33:03 +00:00
Tadashi G. Takaoka
2e32e37d5b Rename some boolean variables for readability
Change-Id: I434cf507e68349b9893ac084645986d6b3d7da91
2014-06-05 18:18:46 +09:00
Keisuke Kuroyanagi
d6b89e17a6 Add jni method for getMaxFrequencyOfExactMatches().
Bug: 13142176
Bug: 15428247
Change-Id: I2ae25090b67ad0c6df97dec7712e2f7e0bb08c40
2014-06-05 18:16:11 +09:00
Tadashi G. Takaoka
fcaf47f007 Refactor show voice key preferece migration code
Change-Id: I4f13e85a3db1ba4adf36c596cb23827bdcf93ae7
2014-06-05 15:23:58 +09:00
Jean Chalard
9d4d61f9c1 Merge "Allow multiple shortcuts for a personal dictionary word" 2014-06-04 13:32:45 +00:00
Tadashi G. Takaoka
aea429200e Support more suggestions accessibility mode
Bug: 12491371
Change-Id: Ib01452b6a2a53faa591b05e62014f356e0511308
2014-06-04 19:45:38 +09:00
Tadashi G. Takaoka
86e1e1f97c Merge "Support more keys accessibility mode" 2014-06-04 10:23:16 +00:00
Tadashi G. Takaoka
62316d7e82 Support more keys accessibility mode
Bug: 12491371
Change-Id: Ib1fc8affbccfbaca3424ecdc2812f47047106aa2
2014-06-04 19:13:41 +09:00
Jean Chalard
f8b4524c0e Allow multiple shortcuts for a personal dictionary word
Bug: 13869301
Change-Id: Icd77a308f85cc16dccffe65a532471c738d6fbc5
2014-06-04 18:01:50 +09:00
Jean Chalard
4c91142771 Merge "Don't recapitalize just at the start of input" 2014-06-04 08:29:20 +00:00
Jean Chalard
07706dc347 Merge "Refactoring" 2014-06-04 07:43:31 +00:00
Jean Chalard
c84b10840e Don't recapitalize just at the start of input
Bug: 13283555
Change-Id: Iab0466425dc44779d110f2cd29d725d22eb04827
2014-06-04 16:29:31 +09:00
Jean Chalard
4a1113b6b0 Refactoring
Rename `initialize' to `start' and `deactivate' to `stop' for ease
of understanding. It's completely bizarre that you can "deactivate"
a recapitalization and that will just restart a new one the next time
you press shift. Start and stop are easier to understand.

Change-Id: I455175aebfcfe11198c6c61bf2c6b19efc3f82df
2014-06-04 16:29:29 +09:00
Yohei Yukawa
5a3a7e3d8a Merge "Add a preference item for metrics logging" 2014-06-04 05:07:03 +00:00
Yohei Yukawa
28c7b262aa Add a preference item for metrics logging
BUG: 14324207
Change-Id: Idc8582655bc73cb24e416e8ba78470209b2ff702
2014-06-04 13:02:42 +09:00
Tadashi G. Takaoka
a32803cefe More concise Key.toString()
Change-Id: I0ef983f54e828193e9c7e4a10c888f72702d499c
2014-06-03 13:32:42 +09:00
Jean Chalard
d660f3bec9 Fix an IOOB exception
Bug: 14602663
Change-Id: Ie2060931df911b44230d5a5ba268f687cbdd0dc8
2014-06-02 18:21:50 +09:00
Keisuke Kuroyanagi
8f71fab2ed Make prevWord = null if the next word starts from a connector.
This fixes PunctuationTests#
testAutoCorrectionWithSingleQuotesAround.

Bug: 14119293
Bug: 15334309

Change-Id: I604c21a21e89a5fc431fd56ab7b6ad03f4736b01
2014-05-30 20:30:17 +09:00
Jean Chalard
fa0e76dde6 Limit recapitalization for reasonable performance.
At 100k text, it's reasonably fast (less than 1s on latest hardware).

Bug: 12913404
Change-Id: I426b918b2610af24364934a1c37a7314f1142ad0
2014-05-30 18:04:39 +09:00
Tadashi G. Takaoka
aaf2bbf9c3 Merge "Remove LatinImeLogger and UsabilityStudyLogUtils" 2014-05-29 09:33:25 +00: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
Keisuke Kuroyanagi
c4a3b9f0d6 Merge "Remove PrioritizedSerialExecutor." 2014-05-29 08:52:23 +00:00
Jean Chalard
944923f266 Fix: too many calls to getSuggestedWordsForTypingInput
This reverts commit d941ea18 and builds on it to fix the behavior
of the broken cases.
It also fixes a small, related bug that probably has existed for
a very long time: predictions not displayed when cancelling
double-space-to-period.

Bug: 15148015
Change-Id: I1f9358f8b6f5804f831643611576be347e83999d
2014-05-29 17:36:46 +09:00
Keisuke Kuroyanagi
94f88b4881 Remove PrioritizedSerialExecutor.
Bug: 15320560
Change-Id: Icb88a96ebd685da1d2cba7b07889a2751c603a2e
2014-05-29 17:36:32 +09:00
Tadashi G. Takaoka
262b1e7518 Merge "Remove researcher logger" 2014-05-29 07:30:16 +00: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
Keisuke Kuroyanagi
7d57fc248b Clean up for Iba6eeb7981634e7ddb.
Bug: 15298959
Change-Id: I6921db77b7d231ad3aad99d4c380ae2ed6bbf540
2014-05-29 13:16:24 +09:00
Keisuke Kuroyanagi
4bffac6db9 Stop directly checking SuggestedWordInfo.mKind
Bug: 15298959

Change-Id: Iba6eeb7981634e7ddb896404978b30f6efd6e72f
2014-05-28 20:35:45 +09:00
Tadashi G. Takaoka
14ea11fcde Add TODO comment about SuggestedWordInfo's kind and flags
This CL must be checked in together with I6fd87e1eec.

Change-Id: I4b24157f3e3ce6327579d37122a34d7a30069885
2014-05-28 11:51:05 +09:00
Keisuke Kuroyanagi
dfca51726e Return whether the dynamic dict operation was success.
Bug: 12184250
Change-Id: Iee7e00c1e84c95551a077f4dd023c0a9b9ac9466
2014-05-27 17:30:00 +09:00
Keisuke Kuroyanagi
26628eeb4b Merge "Add thread name for PrioritizedSerialExecutor." 2014-05-27 07:24:26 +00:00