Commit graph

9955 commits

Author SHA1 Message Date
Jean Chalard
57c0c577af [QRP6] Fix: recorrection top candidate is displayed in bold
Bug: 10385162
Change-Id: Icf9471d474a3a8ed8f38c46c7948c66f9131691e
2014-02-25 19:48:09 +09:00
Jean Chalard
0c34ee20a8 [QRP5] Fix boldness for predictions, and small refactoring
This is more correct. When predictions, the typed word should
always be null unless explicitly passed. The text color should be
that of a valid typed word only if it's actually the typed word.

Bug: 13170509
Change-Id: I769ae100e112c37c6f02064fe9ef2f81372ca9e5
2014-02-25 19:44:57 +09:00
Jean Chalard
783f193239 [QRP4] Simplification & small correctness fix.
This fixes the color of the predictions when running
on a theme that has different colors for typed and
suggested words (GB theme).
Also, this is easier to understand and to modify from
now on.

Change-Id: Ifdc6d86a1695e83e16103041b06a2451f8d52cc4
2014-02-25 08:59:14 +00:00
Jean Chalard
a0984662a1 [QRP3] Refactoring
Rename some variables for clarity and use constants
instead of immediates.

Change-Id: Ie07fbfcc3738ac4e67aefddc339fc54259172c39
2014-02-25 17:05:47 +09:00
Jean Chalard
74224f2c5c [QRP2] Small refactor
Bug: 13170509
Change-Id: Ib9f10b8a137fc773ab0e5dc903e577038e29a9e2
2014-02-25 17:05:47 +09:00
Jean Chalard
ef3a45643e [QRP1] Fix a bug where the wrong value would get passed
In the practice it works because this never tries to access
inside the suggestion strip, and the worst that can happen
is a wrong text color for a suggestion. But since the two
colors that would be swapped are the same, nobody ever
notices -- unless they are using the GingerBread theme.

Change-Id: Ic8c70d8b3cdddf92946dfefbbc6d061572626c7a
2014-02-25 17:05:44 +09:00
Tadashi G. Takaoka
deb5cedf81 Add Key.getIconId for testability
Bug: 13017434
Change-Id: I94ff45da3f58b74cc9dd4d38179670fbcf619d92
2014-02-25 09:59:38 +09:00
Jean Chalard
6e224a236a Merge "Correctly read the header of APK-embedded dicts" 2014-02-24 13:57:46 +00:00
Jean Chalard
890b44e537 Correctly read the header of APK-embedded dicts
Bug: 13164518
Change-Id: I8768ad887af8b89ad9f29637f606c3c68629c7ca
2014-02-24 22:54:01 +09:00
Jean Chalard
64ace089a8 Merge "Use an executor to serialize opening dictionaries." 2014-02-24 13:43:49 +00:00
Tadashi G. Takaoka
7446232c0c Merge "Show emoji key both main and shift PC Qwerty keyboard" 2014-02-24 13:38:16 +00:00
Tadashi G. Takaoka
2c55706b0e Merge "Create a utils class for executors." 2014-02-24 13:33:44 +00:00
Tadashi G. Takaoka
b6bc851ce0 Show emoji key both main and shift PC Qwerty keyboard
Bug: 13164305
Change-Id: I8efaa2690f5f5441f003fb0104705f0032fa49c7
2014-02-24 22:07:13 +09:00
Jean Chalard
d694e354ae Merge "Update all dicts to version 44." 2014-02-24 12:35:27 +00:00
Jean Chalard
004cec01a9 Update all dicts to version 44.
Bug: 13164302
Change-Id: I8dc1a839c7dcfaa08a53e26cb6600e9f871447ce
2014-02-24 21:27:25 +09:00
Jean Chalard
4de2fcdde3 Use an executor to serialize opening dictionaries.
Bug: 13082957
Change-Id: I25570ab4da94337ed60330c0869fe47657096626
2014-02-24 21:05:24 +09:00
Jean Chalard
b434acee34 Create a utils class for executors.
Preliminary refactoring to fix
Bug: 13082957

Change-Id: I9f1283c37089bc96140b774b1c559d58031de004
2014-02-24 20:52:49 +09:00
Tadashi G. Takaoka
c40eb52e43 Merge "Remove hack from EmojiPalettesView.startEmojiPalettes" 2014-02-24 10:49:59 +00:00
Tadashi G. Takaoka
d227b00a72 Remove hack from EmojiPalettesView.startEmojiPalettes
Bug: 12115967
Change-Id: I91c567a9577012ec28c08430c55e56e9c2e25b5f
2014-02-24 19:45:50 +09:00
Jean Chalard
65bce4cabc Merge "Never pass negative values to setSelection." 2014-02-24 09:26:43 +00:00
Tadashi G. Takaoka
b08a9e021c Merge "Revert "Prepare for changing text color for functional keys"" 2014-02-24 08:54:55 +00:00
Tadashi G. Takaoka
da500b7ec3 Revert "Prepare for changing text color for functional keys"
This reverts commit 194e004e81.
Bug: 10786040

Change-Id: I4c5287d46cabe287abce5cba77635cf26d2cd192
2014-02-24 17:42:28 +09:00
Jean Chalard
f19745728e Never pass negative values to setSelection.
Bug: 13136079
Change-Id: Ieae6bafbd5339a033f0f342ba9af7dcc4ce209fa
2014-02-24 16:52:55 +09:00
Jean Chalard
66c96e8813 Update dictionaries
en* : add common app and Google product names
en_GB : also add "filters"
ru : add some missing words

Bug: 11043181
Bug: 12276653
Bug: 12953122
Change-Id: I6b62e681a07b7f0149a10ba4e05954e60d6212d4
2014-02-24 15:30:47 +09:00
Keisuke Kuroyanagi
2b72aa07a9 Disconnect app data search client after fetching all data.
Bug: 13138201
Change-Id: Ibaa3c2c22a4fe44ea23e92ce8576141bbad09b12
2014-02-24 14:47:54 +09:00
Baligh Uddin
dd1d4ba95f Merge "Import translations. DO NOT MERGE" 2014-02-21 16:42:13 +00:00
Baligh Uddin
a761bb3208 Merge "Import translations. DO NOT MERGE" 2014-02-21 16:41:50 +00:00
Jean Chalard
296adf5710 Merge "Change a heuristic and add a log." 2014-02-21 11:58:16 +00:00
Tadashi G. Takaoka
1269ae3144 Merge "Change make-keyboard-text -java option to point LatinIME/java directory" 2014-02-21 11:54:39 +00:00
Keisuke Kuroyanagi
bb6b978a19 Merge "Fix: file descriptor leaking." 2014-02-21 11:37:09 +00:00
Jean Chalard
bf075b21a1 Merge "Don't trim newer inputpointers with old data" 2014-02-21 11:19:04 +00:00
Tadashi G. Takaoka
5eb6ea9f27 Change make-keyboard-text -java option to point LatinIME/java directory
Change-Id: I812713da5918049c0e504e48bd0693df2f7bf46d
2014-02-21 19:24:24 +09:00
Baligh Uddin
522d1575da Import translations. DO NOT MERGE
Change-Id: If26d287c68a6fed1d5a8ecf6566ccd5cdfb99104
Auto-generated-cl: translation import
2014-02-21 02:20:21 -08:00
Baligh Uddin
6ddefc567e Import translations. DO NOT MERGE
Change-Id: Id288919148957318b18962b09e61ebe76a10c2b7
Auto-generated-cl: translation import
2014-02-21 02:13:34 -08:00
Keisuke Kuroyanagi
ad508d029f Merge "Remove corrupted ver4 dictionaries." 2014-02-21 09:03:19 +00:00
Keisuke Kuroyanagi
d24a99cff6 Fix: file descriptor leaking.
File descriptors will be closed in
BinaryDictionary.finalize(); but, this leads to unit test fails.

Bug: 13066902
Change-Id: I2b0d3e54ee91fa844530df54596f86bbbbac81a5
2014-02-21 17:25:34 +09:00
Jean Chalard
2a5ec00301 Don't trim newer inputpointers with old data
We already have a mechanism to avoid this crash, but it wasn't
used every time it needed to. It's possible that ending a batch
input and starting a batch input happen while suggestions
are being pulled out, which would result in pointers that have
been reset being passed for trimming.
Just increasing the sequence number should get rid of the
problem.

Bug: 12178124
Change-Id: I36ef3bc8a78679bc09daa39e665f5ce1bab50c2a
2014-02-21 16:43:11 +09:00
Tadashi G. Takaoka
d73044a249 Add ImportantNoticeDialog
Change-Id: Icaeb7dddd16362cd4a6384d295f89c7fbabc8b35
2014-02-21 16:36:15 +09:00
Keisuke Kuroyanagi
d934fb43ad Remove corrupted ver4 dictionaries.
Bug: 12916055
Change-Id: I2c390ab1dc483915691b47a605772cbc2dfeaf09
2014-02-21 15:09:37 +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
1b3a142cac Merge "Fix a bug where suggestions would not be updated." 2014-02-20 14:46:35 +00:00
Jean Chalard
6f50c95887 Fix a bug where suggestions would not be updated.
Also fix a small cosmetic bug where the suggestion strip
would flash.

Bug: 12951777
Change-Id: I68b7bb9175571de9c718f737eebd9f67ea04a931
2014-02-20 23:32:04 +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
485c1ec685 Merge "Add final and volatile for members of InputLogic." 2014-02-20 10:12:45 +00:00
Keisuke Kuroyanagi
afdb6f011b Merge "Add user history dictionary decaying test." 2014-02-20 10:05:20 +00:00
Keisuke Kuroyanagi
b063377e77 Add final and volatile for members of InputLogic.
Bug: 13107471
Change-Id: I47df79bc6f015c212d1b6d2f63b2efc5da24294e
2014-02-20 18:55:19 +09:00
Keisuke Kuroyanagi
0bc66daae3 Add user history dictionary decaying test.
Bug: 10667710

Change-Id: Ib2be57d8c4cbbb34f64555d84ea6fd571cfdd247
2014-02-20 18:36:46 +09:00