Commit graph

4627 commits

Author SHA1 Message Date
Keisuke Kuroyanagi
30cd0cd2a0 Fix: NPE after onDestroy().
Bug: 13671513
Change-Id: I06aa14870ff5422ad514356ee406600b247858c5
2014-03-28 12:17:44 +09:00
Jean Chalard
080e0253ae Merge "Revert "[CB15] Remove a redundant variable."" 2014-03-27 09:44:31 +00:00
Jean Chalard
f459ccf4f6 Merge "Revert "[CB16] Remove unused stuff"" 2014-03-27 09:44:24 +00:00
Jean Chalard
75715f7d9f Revert "[CB15] Remove a redundant variable."
This reverts commit 0de7a6d1a2.

Change-Id: I327679b76a14cf9c3aec4b00b013b921408c32f9
2014-03-27 09:43:45 +00:00
Jean Chalard
26baa759d8 Revert "[CB16] Remove unused stuff"
This reverts commit 05c46f59fd.

Change-Id: Ica0feea10fff1b2a9ef42bc55cb7c1892b3a3f58
2014-03-27 09:43:21 +00:00
Jean Chalard
5154c47cbe Merge "[CB16] Remove unused stuff" 2014-03-27 08:52:11 +00:00
Jean Chalard
6bd3723e73 [IL128] Remove passing some handlers.
Bug: 8636060
Change-Id: I088be9a7555265ca097667523defd73be4cbe37f
2014-03-27 17:51:32 +09:00
Keisuke Kuroyanagi
c17311cefe Remove unused method.
Change-Id: Iefb75136080e73c357511df045816f18cec767a6
2014-03-27 17:46:38 +09:00
Keisuke Kuroyanagi
a785fa8edd Dictionary migration in Java side.
Bug: 13406708

Change-Id: If83938e4b4810d2e8353c70cdd8ef3ea97a29571
2014-03-27 17:46:35 +09:00
Jean Chalard
5feda45a6f Merge "[CB15] Remove a redundant variable." 2014-03-27 08:05:23 +00:00
Jean Chalard
05c46f59fd [CB16] Remove unused stuff
Bug: 13406701
Change-Id: Ib863c5181e1f5d74cfa4458060afc49d1ee8109e
2014-03-27 16:47:30 +09:00
Jean Chalard
0de7a6d1a2 [CB15] Remove a redundant variable.
This is a tiny bit slower, but probably unnoticeable.
Still, it gains some performance in other places,
saves memory, and more importantly makes for simpler
code, so it's certainly better.

Change-Id: Id1ab4f73f71acd73f5920bc729817abd22cf0d07
2014-03-27 16:47:27 +09:00
Keisuke Kuroyanagi
6008898b99 Merge "Move code only used for dicttool and tests under tests." 2014-03-27 06:37:10 +00:00
Keisuke Kuroyanagi
93cda5bb39 Move code only used for dicttool and tests under tests.
Bug: 13035567
Change-Id: I13c6df013ef2b67c9bf67455d9c32d283bf9ea2e
2014-03-27 15:30:32 +09:00
Keisuke Kuroyanagi
3c38e1f269 Merge "Fix: NPE in isValidWord after dictionaries are closed." 2014-03-27 03:12:07 +00:00
Keisuke Kuroyanagi
7b516d496d Fix: NPE in isValidWord after dictionaries are closed.
Bug: 13650542
Change-Id: I1bdc838fca48d6ef12db5e70d40273d1236128d1
2014-03-27 12:03:58 +09:00
Jean Chalard
071b9c1a05 Merge "[CB14] Implement backspace in the combiner chain" 2014-03-25 10:46:32 +00:00
Jean Chalard
1079665c3c [CB14] Implement backspace in the combiner chain
Bug: 13622107
Bug: 13406701
Change-Id: I0023b398c4451253f9f717e2bd990b8a054004bc
2014-03-25 17:57:03 +09:00
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
Yohei Yukawa
f1f5ed542d Check null before passing to Integer.parseInt
Just after user data is cleared, user preference associated with
PREF_KEYBOARD_LAYOUT is always empty. In such case, we might
want to return the default value immediately, rather than
calling Integer.parseInt(null) and catching NumberFormatException
unnecessarily.

BUG: 13472379
Change-Id: I8dca9a22780d057013c032bd1f56e730dcada3ce
2014-03-24 20:54:03 +09:00
Jean Chalard
d36cbc44e4 [CB13] Remove an unused method.
Change-Id: If4d2fa9c6499ce9b2427cea424abd497ec4a966b
2014-03-24 17:44:36 +09:00
Jean Chalard
cbed462d19 [CB12] Reset the combining state when resetting the composer
Bug: 13406701
Change-Id: I490574b7ca4b953f67dd2c0ef97401297fade0a4
2014-03-24 17:44:31 +09:00
Jean Chalard
7f0e5fa66c Merge "[CB11] Get the result of the combination" 2014-03-24 05:33:34 +00:00
Jean Chalard
1dda9107ca Merge "Rework the logic that tells if the cursor touches words" 2014-03-20 14:35:19 +00:00
Jean Chalard
835965a75e [CB11] Get the result of the combination
Change-Id: I165ec4a24f5b1334d55c14948e4d942ec40eb33b
2014-03-20 23:33:12 +09:00
Jean Chalard
72b67f6541 Rework the logic that tells if the cursor touches words
Bug: 13312942
Change-Id: I6be6a558bbc6c88508150f9c25cadbd0240ff88e
2014-03-20 23:16:53 +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
Keisuke Kuroyanagi
7c20f140e0 Merge "Remove unused partial commit." 2014-03-20 09:54:15 +00:00
Keisuke Kuroyanagi
5a0381f7d0 Remove unused partial commit.
Change-Id: Ia9341a5cb24947d93056810890d94c1f66481d8c
2014-03-20 18:47:45 +09:00
Jean Chalard
437dbbcfee Merge "[IL127] Move the double space countdown to InputLogic" 2014-03-20 09:07:49 +00:00
Tadashi G. Takaoka
aacfa31c8e Merge "Remove reference of KeyboardTextsSet from SpacingAndPunctuations" 2014-03-20 08:46:11 +00:00
Tadashi G. Takaoka
44f144ab3a Remove reference of KeyboardTextsSet from SpacingAndPunctuations
Change-Id: I76a8fcbd2466bcaf9cd85501af270db5aa913999
2014-03-20 17:14:43 +09:00
Jean Chalard
f2bb15b0ab [CB09] Pass events through the combiner chain
Bug: 13406701
Change-Id: I4696f145478afdd132314b7d3c148c3a9ca11c9c
2014-03-20 16:59:29 +09:00
Jean Chalard
7ede642df4 [CB08] Create a combiner chain in the word composer.
Bug: 13406701
Change-Id: I3b9f75de9283f76366d1bef7e14a8f22f2186669
2014-03-20 14:27:55 +09:00
Tadashi G. Takaoka
f96bffa69e Suppress important notice when its title message is empty
Bug: 13422608
Change-Id: Ied16e87381e82d8539269ddd90d737f80c2a94c0
2014-03-20 11:48:28 +09:00
Tadashi G. Takaoka
14e908c348 Remove unused argument in SuggestionStripLayoutHelper
Bug: 13461039
Change-Id: I3f6227bd56fb81021aaacf0e901eab8a9e91d4a1
2014-03-20 11:06:55 +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
Tadashi G. Takaoka
1325ddbae3 Merge "Guard possible NumberFormatException" 2014-03-18 07:26:18 +00:00
Tadashi G. Takaoka
d2c6151d4d Guard possible NumberFormatException
Bug: 13472379
Change-Id: Ib7640b3d8816d8d7fb4747d2288eedd94bc49b06
2014-03-18 15:40:43 +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
5a1e351751 Merge "[CB04] Add an event array to WordComposer." 2014-03-14 04:29:59 +00:00
Jean Chalard
f8accd8839 [CB04] Add an event array to WordComposer.
Bug: 13406701
Change-Id: I9ecd2709c8f1c678a85b0cfaf7c5ed4f78459821
2014-03-14 12:44:49 +09:00
Tadashi G. Takaoka
a9c1a3da63 Fix clipped important notice message on tablet
Bug: 13461039
Change-Id: I710bf10c9cbc202c7f6ee39ab4c8b9d699741a81
2014-03-14 12:32:38 +09:00
Jean Chalard
750cd48981 [CB03] Pass whole events to the various input logic handlers.
Bug: 13406701
Change-Id: I0a0e4e0b3357f116e1b915c548dee4575e300c92
2014-03-13 19:35:54 +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
e93a7232d1 Don't reset the value needed before it's used
Nice recipe for failure

Bug: 13387534
Change-Id: Ida1978449c1997587b2ec0955c5c94fcef336121
2014-03-10 15:55:15 +09:00
Keisuke Kuroyanagi
32326a9d7a Merge "Move DictionaryOptions from FusionDictionary to FormatSpec." 2014-03-07 10:42:18 +00:00
Keisuke Kuroyanagi
e137ec0a91 Introduce SuggestionResults and use it for predictions.
Bug: 8187060
Bug: 13333066
Change-Id: I1ead897024508b7e40fbd93af7d14bfe74b93826
2014-03-07 19:36:19 +09:00
Keisuke Kuroyanagi
a103e29d00 Merge "Separate WeightedString from FusionDictionary." 2014-03-07 09:07:26 +00:00
Tadashi G. Takaoka
ff8405cdfb Add ActualKeyboardBuilder for testing keyboard layouts
Bug: 13017434
Change-Id: I38b1f5c261ea1f3ff312c780d7d9b5fe3fba8aaf
2014-03-07 17:29:58 +09:00
Keisuke Kuroyanagi
3ad4af2354 Move DictionaryOptions from FusionDictionary to FormatSpec.
Bug: 8187060
Bug:13035567

Change-Id: Id4f45e589521ae98c926a4c0607be10ce1a983f2
2014-03-06 18:53:09 +09:00
Keisuke Kuroyanagi
516f86815d Separate WeightedString from FusionDictionary.
Bug: 8187060

Change-Id: I40c1dafca3eb52244c64fdb4c1db30a56385d678
2014-03-06 18:53:06 +09:00
Jean Chalard
3892991b80 Merge "[IL124] Remove the KeyboardSwitcher arg to onCodeInput" 2014-03-06 09:15:26 +00:00
Jean Chalard
4da06b9a19 Merge "Correctly update the suggestion strip on non-resumable word" 2014-03-06 08:54:44 +00:00
Keisuke Kuroyanagi
d93eb680c4 Merge "Use BinaryDictionaryUtils to read dictionary header." 2014-03-06 07:32:07 +00: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
db38d5cf63 [IL123] Put the settings values inside the transaction
A transaction should always operate with a consistent set
of settings. It's better to have it reference them than to
always pass them along.

Bug: 8636060
Change-Id: I3c642dfea6be30712fc6cbb279c64f3185895791
2014-03-06 14:20:37 +09:00
Jean Chalard
29881854bc [IL122] Put the code, x and y in the transaction
Bug: 8636060
Change-Id: Icdf87995dedec410b54c306e8d312ba7ec25cea6
2014-03-06 12:50:07 +09:00
Keisuke Kuroyanagi
de36b47d29 Use BinaryDictionaryUtils to read dictionary header.
Bug: 8187060
Bug:13035567
Change-Id: I90a5e0665c367f5a1bd786f4babf0d03e79e68fa
2014-03-05 19:42:53 +09:00
Keisuke Kuroyanagi
274eae95ba Merge "Separate utility methods from BinaryDictionary." 2014-03-05 10:07:33 +00:00
Jean Chalard
c6e200ef3a Correctly update the suggestion strip on non-resumable word
Bug: 13303965
Change-Id: Iedc5d38f70af76fbebb99e59a0d17c1e226c810d
2014-03-05 18:47:41 +09:00
Keisuke Kuroyanagi
e784148ae6 Separate utility methods from BinaryDictionary.
Bug: 8187060
Change-Id: Ice2984e332b7bd3bb17174aefc80b5635b72fc50
2014-03-05 18:19:34 +09:00
Jean Chalard
7b905c40e9 [IL121] Introduce InputTransaction
We probably can't put this off any longer

Bug: 8636060
Change-Id: I1e5d3cf62d719f4d064ced3282bebf2e822f6baa
2014-03-05 17:04:10 +09:00
Tadashi G. Takaoka
8204078a84 Merge "Remove unused MoreKeysPanel argument from Controller interface" 2014-03-04 10:53:23 +00: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
fb28935f82 [IL119] Make fields private.
Change-Id: Ia84d3e5a102e1056e3d7467be07df89390f17617
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
Tadashi G. Takaoka
1f215a58c9 Remove unused MoreKeysPanel argument from Controller interface
Bug: 13204690
Change-Id: Ife438e78d9bbbf796df20f95c2da7a4d50e5a035
2014-03-04 16:05:15 +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
030da519de [IL115] Cleanup continues
Bug: 8636060
Change-Id: I944b10ec9798eec57d986e1075ba348aa0892cae
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
c92dabb27e Merge "[IL112] Cleanup" 2014-03-04 05:45:15 +00:00
Jean Chalard
27c23c691c Merge "[IL111] Remove a member." 2014-03-04 05:36:00 +00: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
Tadashi G. Takaoka
ddc21f5bd1 Dismiss all key preview before showing more suggestions
This CL also release key graphics and dismiss sliding key input
preview.

Bug: 13204690
Change-Id: Ie8eb7b7beca51689a907da9c0713b4d34d48dda1
2014-03-04 14:26:00 +09:00
Ken Wakasa
61c726f591 Merge "Dismiss more keys keyboard before statring more suggestionsview to show" 2014-03-04 01:10:09 +00:00
Tadashi G. Takaoka
56e0373b5c Dismiss more keys keyboard before statring more suggestionsview to show
Bug: 13204690
Change-Id: I9188edd0e99ca8acdcb0f0e045be7d267d56b12d
2014-03-04 10:02:05 +09:00
Tadashi G. Takaoka
8df489444d Merge "Fix InputMethodInfo cache in RichInputMethodManager" 2014-03-03 15:16:55 +00:00
Tadashi G. Takaoka
ad5795a891 Fix InputMethodInfo cache in RichInputMethodManager
Bug: 13271570
Change-Id: Ie06cd83baaaf674d8b34f0232c164c4541aceb43
2014-03-03 23:36:35 +09:00
Tadashi G. Takaoka
3f91acdc96 Add additional subtypes test
Change-Id: I2994fd72bc284c84757f5a2bfa8045aa574a8fbc
2014-03-03 17:16:02 +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
Keisuke Kuroyanagi
858045b41c Merge "Fix: wrong auto correction for whilelist and personalized words." 2014-02-28 12:26:03 +00:00
Keisuke Kuroyanagi
23ae574a11 Fix: wrong auto correction for whilelist and personalized words.
This happens when there are tailing single quotes.

Bug: 13237314
Change-Id: I7fd2a20b25ac2217f9621d7f2510345bbd633c14
2014-02-28 21:24:26 +09:00
Keisuke Kuroyanagi
5128935ac4 Add header attributes for evaluation.
Bug: 13197276
Change-Id: Ib5247da691ff24a73e13485288237ccc51bb54f0
2014-02-28 21:06:03 +09:00
Keisuke Kuroyanagi
58a536e41a Merge "Use dynamic operations to construct all ver4 dicts." 2014-02-28 09:37:23 +00:00
Keisuke Kuroyanagi
684f5f18b1 Merge "Added a method and run GC for testing." 2014-02-28 09:33:51 +00:00
Keisuke Kuroyanagi
d302b98ce6 Added a method and run GC for testing.
Bug: 13231889
Change-Id: If64b7422967c3e4107c845072b64a7bb26a35f7e
2014-02-28 18:17:09 +09: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
ea89cb40b7 Use dynamic operations to construct all ver4 dicts.
Bug: 8187060
Bug: 13127350
Change-Id: I081ee904c41898128efa8ba7a1bf3fa0a46c6231
2014-02-27 23:21:09 +09:00
Keisuke Kuroyanagi
1aac28a2b9 Remove "Use only personalization dictionary".
Bug: 13216198
Change-Id: I20ce61c4a10c360e028bf6427f632cc5299763e4
2014-02-27 22:32:00 +09:00
Keisuke Kuroyanagi
e9926b0d11 Remove redundant creation of dictionary facilitator.
Change-Id: I2edab4e3ba4ea0b9b13f9bb224aac86cac9b9f31
2014-02-27 22:31:57 +09:00
Jean Chalard
71e3ecd0a2 Fix a bug with auto-caps entries from personalization
Bug: 13215163
Change-Id: I00099cb4927c96de46e57e14ab906d41c9c2151a
2014-02-27 14:40:54 +09:00
Keisuke Kuroyanagi
e1480a246d Merge "Set additional attributes in dictionary facilitator." 2014-02-26 10:37:46 +00:00
Keisuke Kuroyanagi
f8552f61a4 Set additional attributes in dictionary facilitator.
Bug: 13197276
Change-Id: I206cf4e599ca9cdf40d669358a1067a2954d11e3
2014-02-26 19:14:16 +09:00
Keisuke Kuroyanagi
e55d44c535 Merge "Add a method to create dict with additional attributes." 2014-02-26 10:07:53 +00:00
Keisuke Kuroyanagi
18f91cf617 Add a method to create dict with additional attributes.
Bug: 13197276
Change-Id: I80311a51d9e98bfeb8c0dd9cd4adde93af366d54
2014-02-26 19:03:27 +09:00
Keisuke Kuroyanagi
009bb5642b Merge "Use NOT_A_PROBABILITY for adding OOV words." 2014-02-26 09:48:57 +00:00
Jean Chalard
7e70e9dc49 Merge "[IL110] Remove an unused interface function" 2014-02-26 09:08:30 +00:00
Keisuke Kuroyanagi
2b27e06733 Merge "Read and write forgetting curve header attributes." 2014-02-26 09:06:56 +00:00
Keisuke Kuroyanagi
6112cc26a7 Read and write forgetting curve header attributes.
Bug: 13197276
Change-Id: I6c38a127e1745903594b7bf0ec80ef179e794feb
2014-02-26 18:04:12 +09:00
Keisuke Kuroyanagi
8559b403ed Use NOT_A_PROBABILITY for adding OOV words.
Bug: 13197276
Change-Id: I23f453c2c1deea70eab552f8d433fe264adf68b3
2014-02-26 17:50:44 +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
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
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
2c55706b0e Merge "Create a utils class for executors." 2014-02-24 13:33:44 +00: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
Jean Chalard
f19745728e Never pass negative values to setSelection.
Bug: 13136079
Change-Id: Ieae6bafbd5339a033f0f342ba9af7dcc4ce209fa
2014-02-24 16:52:55 +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
Jean Chalard
296adf5710 Merge "Change a heuristic and add a log." 2014-02-21 11:58:16 +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
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
Keisuke Kuroyanagi
a514ea7e1b Merge "Check all enabled IME's subtypes to enable personalization." 2014-02-20 09:33:21 +00:00
Keisuke Kuroyanagi
d10e2d85af Merge "Throw IOException when dict header cannot be read." 2014-02-20 09:33:08 +00:00
Keisuke Kuroyanagi
afd9b62f00 Throw IOException when dict header cannot be read.
Bug: 13106638
Change-Id: Ib48ef0a191a436552c49b6e817dfa13fe1567ae8
2014-02-20 18:11:17 +09:00
Jean Chalard
475f9f35b6 Merge "Comments improvements" 2014-02-20 08:22:39 +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
Tadashi G. Takaoka
78db739cdb Fix build due to Ib4c472756f
Change-Id: I27aad91d3f821b5c0d6a3c6405b4a9d03c5bd814
2014-02-20 16:16:57 +09:00
Jean Chalard
ad2cf220a9 Merge "Remove a call to a deprecated method" 2014-02-20 06:40:46 +00:00