Commit graph

1596 commits

Author SHA1 Message Date
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