Commit graph

7082 commits

Author SHA1 Message Date
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
Keisuke Kuroyanagi
ba33831d76 Apply distracter filter for in-vocabulary words.
Bug: 13142176
Change-Id: I4db763783a2f8b9a0df0df951db3223f70748870
2014-05-26 23:11:24 +09:00
Keisuke Kuroyanagi
0088d1f668 Merge "Use whether it's exact match to detect distracters." 2014-05-26 13:53:19 +00:00
Keisuke Kuroyanagi
a6278eb9c1 Use whether it's exact match to detect distracters.
Bug: 13142176
Change-Id: Id5b7286d28897931f7bfe571be45d46ffeef4adf
2014-05-26 21:56:20 +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
4905d83270 Merge "Release and register current key when emoji palette is hidden" 2014-05-25 13:09:15 +00:00
Tadashi G. Takaoka
0380421bf7 Release and register current key when emoji palette is hidden
Bug: 13290802
Change-Id: Ib087152f8bd47a5c81901377291e4223ee4a49ec
2014-05-25 10:54:15 +09:00
Tadashi G. Takaoka
1f217dbd51 Use functional key background for action key with label
This CL also adds label_search_key string resources for consistency.

Bug: 15135033
Change-Id: I81cae243e83a590ef56fe758a43c7184fc4159aa
2014-05-24 21:26:47 +09:00
Tadashi G. Takaoka
630a24141e Use ViewCompat support library and delete ViewCompatUtils
Change-Id: I57d60cacd86e83894294c3f64402aba8c1829872
2014-05-24 12:26:30 +09:00
Tadashi G. Takaoka
790934158d Revert "Use ViewCompat support library and delete ViewCompatUtils"
This reverts commit db21267b78.
The reverting change breaks build in unbundled jb-ub-latinimegoole branch.

Change-Id: Ia61424f5321eb97f981d22c4b08e9ea8d348f6c1
2014-05-23 18:31:43 +00:00
Tadashi G. Takaoka
db21267b78 Use ViewCompat support library and delete ViewCompatUtils
Change-Id: Ifee496ff7ecaf361898444ff4127f16748d96422
2014-05-24 02:13:52 +09:00
Tadashi G. Takaoka
7a76350b7b Merge "Enable "show language switch key" settings on K and before" 2014-05-23 16:43:37 +00:00
Tadashi G. Takaoka
6726bc9001 Merge "Use Java 7 diamond operator" 2014-05-23 16:43:12 +00:00
Tadashi G. Takaoka
e3bfb825f5 Merge "Consolidate attributes to EmojiPaletteView to control indicators" 2014-05-23 16:42:50 +00:00
Tadashi G. Takaoka
a91561aa58 Use Java 7 diamond operator
Change-Id: If16ef50ae73147594615d0f49d6a22621eaf1aef
2014-05-24 01:05:42 +09:00
Tadashi G. Takaoka
7ed40a13cc Enable "show language switch key" settings on K and before
"Show language switch key" and "Switch to other IME" settings are
enabled on KitKat and before. On L and later, its preference settings
UI gets hide and the settings values are forcibly set to true.

Bug: 14854377
Change-Id: I10456408452280a1b7688fd1f168933937666c9f
2014-05-24 00:58:24 +09:00
Keisuke Kuroyanagi
9f9988e996 Merge "Introduce EMPTY_PREV_WORDS_INFO and BEGINNING_OF_SENTENCE." 2014-05-23 14:53:13 +00:00
Ken Wakasa
991c9026b9 Merge "Revert "Fix: too many calls to getSuggestedWordsForTypingInput"" 2014-05-23 14:34:36 +00:00
Ken Wakasa
d941ea1826 Revert "Fix: too many calls to getSuggestedWordsForTypingInput"
This reverts commit 7aa895e2e3.

Bug: 15148015
Change-Id: If39c4f8b897f247d4eb935923d55d81def4c8fb4
2014-05-23 14:34:06 +00:00
Keisuke Kuroyanagi
a790c5b683 Introduce EMPTY_PREV_WORDS_INFO and BEGINNING_OF_SENTENCE.
Bug: 14119293
Change-Id: I5020e5f0aa64bc3e97b3a3c2c07a60c8b765ed64
2014-05-23 23:19:33 +09:00
Keisuke Kuroyanagi
a37f374ad1 Version up dynamic dict format from 401 to 402.
Change-Id: Ibea36af905ade773ae3db3a5456f7b5a0ad7d220
2014-05-23 20:20:56 +09:00
Keisuke Kuroyanagi
1adca93381 Extend jni methods and enable Beginning-of-Sentence.
Bug: 14119293
Change-Id: I78fc877367dd0d6240eeacb750b6d2d0b93cba83
2014-05-23 19:58:58 +09:00
Keisuke Kuroyanagi
85befc0873 Merge "Make DistracterFilter interface." 2014-05-23 10:11:57 +00:00
Jean Chalard
52fdaa2cd8 Merge "Fix some auto-caps problems: - (mainly for Spanish) auto-caps after inverted bang and what - (German only) don't auto-cap after digits-period-space" 2014-05-23 09:42:56 +00:00
Jean Chalard
e8e463832f Merge "Increase the DB version for the next release." 2014-05-23 09:18:22 +00:00
Jean Chalard
cfdb1b8d26 Fix some auto-caps problems:
- (mainly for Spanish) auto-caps after inverted bang and what
- (German only) don't auto-cap after digits-period-space

Bug: 15177663
Bug: 12206753
Change-Id: Ia214bc067319469d9debbbfbdcb1dcff980847f0
2014-05-23 18:17:09 +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