Commit graph

7109 commits

Author SHA1 Message Date
Tadashi G. Takaoka
176f803176 Use rectangle region to ignore hover events after long press
Bug: 15500282
Bug: 15501718
Change-Id: Ia4771198c3120a980b0a2cdd210928a4f47f5b83
2014-06-09 16:32:19 +09:00
Tadashi G. Takaoka
24fab555f9 Refactor KeyCodeDescriptionMapper class a bit
This CL adds getDescriptionForCode() method.

Bug: 15500282
Change-Id: I3bb92c8f356ea623fc992c924506b11e09256e98
2014-06-09 16:28:30 +09:00
Keisuke Kuroyanagi
7f0316c27e Merge "Add distracter cache to optimize the distracter test." 2014-06-09 05:35:46 +00:00
Keisuke Kuroyanagi
9f02a67c77 Merge "Fix: NPE after turning on personalized suggestion." 2014-06-09 05:35:32 +00:00
Keisuke Kuroyanagi
104b582c35 Add distracter cache to optimize the distracter test.
Bug: 13142176
Bug: 15428247
Change-Id: Ia390b148ffb36ace6c2010daf0f14838492413e8
2014-06-09 12:39:06 +09:00
Keisuke Kuroyanagi
65cf23eb38 Fix: NPE after turning on personalized suggestion.
Bug: 13142176
Bug: 15428247
Change-Id: I236202e3c1b70a11d512c946798035087945c0ac
2014-06-09 12:26:59 +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
Keisuke Kuroyanagi
79e2e9fa8c Merge "Add Dictionary.isInDictionary()." 2014-06-09 02:40:39 +00:00
Keisuke Kuroyanagi
1910392eed Add Dictionary.isInDictionary().
Bug: 13142176
Bug: 15428247
Change-Id: If2d1c1fea7a69e41809a828da8dd032211ad144e
2014-06-09 11:04:28 +09:00
Tadashi G. Takaoka
dec599d172 Fix overwriting accessibility delegate in setKeyboard
A keyboard accessibility delegate object should be a singleton for
each keyboard view.

Bug: 15437933
Bug: 15419386
Change-Id: Ia70853c644d950ea6130c1f209b89929b1cb1ee5
2014-06-08 22:12:52 +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
Tadashi G. Takaoka
b7206b6bca Merge "Add action key test for Lxx theme" 2014-06-06 04:08:40 +00:00
Tadashi G. Takaoka
c5dc740673 Add action key test for Lxx theme
Change-Id: I849cec7deb5607e8ce8fb25c1f903f15328fb611
2014-06-06 12:56: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
Tadashi G. Takaoka
70a1352cb9 Merge "Add onRegisterHoverKey to accessibility delegate" 2014-06-04 08:56:48 +00:00
Tadashi G. Takaoka
1a0cd0869d Add onRegisterHoverKey to accessibility delegate
Bug: 12491371
Change-Id: I8c5b1e91f41146a023edcc405e6120c0bf33f49b
2014-06-04 17:49:48 +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
Tadashi G. Takaoka
a2b7c07e68 Merge "Revert "Pass hover event to accessibility key handling methods"" 2014-06-04 07:20:21 +00:00
Tadashi G. Takaoka
2c35f3bdd5 Revert "Pass hover event to accessibility key handling methods"
It turns out passing hover event to accessibility key handling methods
isn't necessary. This parically reverts I1f7feef707.

Bug: 12491371
Change-Id: I9d71cd29723344433427795e44cb22ac41faace6
2014-06-04 16:04:36 +09:00
Yohei Yukawa
5a3a7e3d8a Merge "Add a preference item for metrics logging" 2014-06-04 05:07:03 +00:00
Tadashi G. Takaoka
6e00de046a Merge "Reorder keys around the spacebar" 2014-06-04 04:04:28 +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
dc62c711aa Reorder keys around the spacebar
This CL reorders keys around the spacebar.
- On phone's symbols and symbols shift layout, the comma key is moved
  to the left of the spacebar to aligned with main layout.
- On tablet's layout, the comma key is moved to the left of the
  spacebar on all layout to aligned with the same layout of
  phone's. Also the comma key has "settings" as more keys.
- In Arabic and Perisan, the comma key of tablet already has some more keys
  This CL remove "/" and add "settings" instead.

Bug: 15281451
Change-Id: I6e0e75e4d4abfb1f356e7499be91424c7c57c58b
2014-06-04 00:45:25 +09:00
Tadashi G. Takaoka
ae0fab9550 Load KeyCodeDescriptionMapper class lazily
Change-Id: I2cba2bb5b2f449ed29895365b9c6ca285a7640fe
2014-06-03 18:15:59 +09:00
Tadashi G. Takaoka
9a2162e6f2 Merge "Fix synthesizing MotionEvent" 2014-06-03 07:32:52 +00:00
Tadashi G. Takaoka
2351b4f74f Fix synthesizing MotionEvent
KeyboardAccessibilityDelegate.synthesizeTouchEvent() wrongly passed
pointer's id as a 6th argument of MotionEvent.obtain method that
should be metaState.

Change-Id: I822f9647a1ba27ee8cee39f373f6a1c003ebf665
2014-06-03 14:46:36 +09:00
Tadashi G. Takaoka
7a750ca50d Fix PointerTracker debug output to reflect new KeyDetector
Change-Id: I913ec290ddfd0ae4cc6e600ba95b7442167f0989
2014-06-03 14:32:40 +09:00
Tadashi G. Takaoka
a32803cefe More concise Key.toString()
Change-Id: I0ef983f54e828193e9c7e4a10c888f72702d499c
2014-06-03 13:32:42 +09:00
Tadashi G. Takaoka
d427d3b0fa Merge "Create AccessibilityDelegate only when accessibility mode is on" 2014-06-02 10:12:52 +00:00
Jean Chalard
28538d916c Merge "Fix an IOOB exception" 2014-06-02 10:07:12 +00:00
Tadashi G. Takaoka
d78b586976 Create AccessibilityDelegate only when accessibility mode is on
Change-Id: I4cbae476d16723778b46ff765dd97832f279785f
2014-06-02 18:53:58 +09:00
Jean Chalard
d660f3bec9 Fix an IOOB exception
Bug: 14602663
Change-Id: Ie2060931df911b44230d5a5ba268f687cbdd0dc8
2014-06-02 18:21:50 +09:00
Tadashi G. Takaoka
a021395e84 Pass hover event to accessibility key handling methods
Bug: 12491371
Change-Id: I1f7feef707b95e8862db71cbc4f6f5585a2441dd
2014-06-02 17:13:47 +09:00
Tadashi G. Takaoka
d0b79cc12a Add verbalization of symbols that are unsupported by TTS/TalkBack
Bug: 13336905
Change-Id: Iefd117fa7b30b8ba240590b13b03d7044fd37ede
2014-06-02 17:02:38 +09:00
Tadashi G. Takaoka
82674ca81c Fix to clear on hover visual cue
Bug: 12491371
Change-Id: Ib7ca91ae73aa40e45ea5f6d4e53348a261a4b823
2014-06-02 14:57:52 +09:00
Tadashi G. Takaoka
fa9b9578d4 Refactor MoreKeysKeyboardView a bit
Bug: 12491371
Change-Id: I3ce1e6557e41a94146b882751f75ae4b5f6bc73d
2014-06-02 12:41:50 +09:00
Tadashi G. Takaoka
509d07c764 am 61a8a66c: Merge "Workaround to draw spacebar icon of emoji palettes" into lmp-preview-dev
* commit '61a8a66ccac1de7e146344dd77c8be84aa8daf33':
  Workaround to draw spacebar icon of emoji palettes
2014-05-30 15:03:10 +00:00
Tadashi G. Takaoka
3558505bee Workaround to draw spacebar icon of emoji palettes
Bug: 15321822
Change-Id: Iab7cef83ffdf91c877c3ed2e59d412496b516e1c
2014-05-30 22:53:24 +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
6fe326ae42 am 761a6812: Don\'t reuse main keyboard\'s spacebar icon for Emoji palette
* commit '761a6812312c48d04bcb91e5c4448364c4925731':
  Don't reuse main keyboard's spacebar icon for Emoji palette
2014-05-29 15:06:36 +00:00
Tadashi G. Takaoka
761a681231 Don't reuse main keyboard's spacebar icon for Emoji palette
Bug: 15321822
Change-Id: I6a5a865364fb98e0ebb6206d80d5629bbcb817b8
2014-05-29 23:32:03 +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
f2b995769b Merge "Support fine grained hover event handling" 2014-05-28 05:53:53 +00: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
Tadashi G. Takaoka
639e431fa2 Support fine grained hover event handling
This CL also adds visual feedback of hovering key in accessibility
mode.

Bug: 12491371
Change-Id: I7b1f28a2e421ca60b2738ed94e7bdb406f75039b
2014-05-28 10:47:09 +09:00
Tadashi G. Takaoka
d3642a2a58 Merge "Refactor KeyboardAccessibilityDelegate class a bit" 2014-05-27 09:54:56 +00:00
Tadashi G. Takaoka
87d2f3ea0e Refactor KeyboardAccessibilityDelegate class a bit
Bug: 12491371
Change-Id: I2c2c6f3a6d0d7e7efbe0253127f5b9117cbc512d
2014-05-27 17:33:20 +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
Tadashi G. Takaoka
ced6788518 Merge "Remove compiler warning from accessibility package" 2014-05-27 07:18:25 +00:00
Keisuke Kuroyanagi
6a546147eb Merge "Stop filtering out when perfect freq > top non-perfect freq." 2014-05-27 07:14:16 +00:00
Keisuke Kuroyanagi
00da83ed75 Stop filtering out when perfect freq > top non-perfect freq.
Bug: 13142176
Change-Id: I0290df918a5bd5018bf55231dc462d5e797155c6
2014-05-27 16:09:59 +09:00
Keisuke Kuroyanagi
733a9c09a9 Add thread name for PrioritizedSerialExecutor.
Bug: 15270123
Change-Id: I655ba97f0543476980d0e8461bc1c8a56c9f954b
2014-05-27 16:06:08 +09:00
Tadashi G. Takaoka
a80d55d4d3 Remove compiler warning from accessibility package
Change-Id: Idae3e89f0398ab2cd56985adfac18959aa1852e7
2014-05-27 15:24:39 +09:00
Tadashi G. Takaoka
01748cde4e Move MoreSuggestionsListener to MoreSuggestionsView
Change-Id: I3b5bc630bf73a357ed0beeec0b555149ef248313
2014-05-27 14:49:25 +09:00
Tadashi G. Takaoka
9647d7fbee Use onHoverEvent instead of dispatchHoverEvent
This CL also refactors KeyboardAccessibilityDelegate a bit to be able
to override on hovering methods that handle enter, move, and exit on a
key.

Bug: 12491371
Change-Id: I3c7e81ccb8729ae6e466c654efde0c18ed734bdf
2014-05-27 11:28:52 +09:00
Tadashi G. Takaoka
f6d59f6a6b Merge "Announce the same key again" 2014-05-27 02:18:59 +00:00
Tadashi G. Takaoka
a1b47eb446 Announce the same key again
Bug: 15237246
Change-Id: Ie7023b727cb3eca9d0727a511b3d64a32a02cd3d
2014-05-27 10:57:53 +09:00
Tadashi G. Takaoka
7b5bccc066 Use "unknown emoji" or emoji that has an empty translation
Because the number of emoji description spoken string resources is
rather huge (~800), some locales may chose an empty description as a
translation. If that is the case, we will announce "unknown emoji" as
a fallback.

Bug: 11452158
Change-Id: Ibb65e5bec93030c40bd33ac2be2115c3bbc8bd11
2014-05-27 10:48:03 +09:00
Keisuke Kuroyanagi
71c795d00b Merge "Apply distracter filter for UserHistoryDictionary." 2014-05-26 16:28:23 +00:00
Keisuke Kuroyanagi
17bd4eb0c9 Apply distracter filter for UserHistoryDictionary.
Bug: 13142176
Change-Id: I67d63a5c789d7c587bcd7abacd26b2e76da11978
2014-05-27 01:10:04 +09:00
Keisuke Kuroyanagi
f85b478cd8 Merge "Apply distracter filter for in-vocabulary words." 2014-05-26 14:25:17 +00:00