DO NOT MERGE
- Captures complete motion data for all words in an n-gram.
- Also filters n-grams properly; if any word in the n-gram is not
in the dictionary, it is not included.
- Simplify ResearchLog to not require explicit state
- Added LogBuffer class MainLogBuffer class to allow n-gram-level decisions
about privacy.
- Moved LogUnit out from ResearchLogger
multi-project change with Ie2bc79fd7fe6b951b24771e94b8d4ca21989af65
Bug: 6188932
Change-Id: I568c90d4af07e7c759c1e7fc64b716bd8c7b4ae5
Move many ResearchLogger data collection points to RichInputConnection.
By collecting data here, developers do not have to remember to keep the
ResearchLog consistent with calls to the RichInputConnection.
In addition, some unnecessary log points were removed, and the ResearchLogger
is now independent of LatinImeLogger.
multi-project change with Ib71f841044ec1072610ab5638a5edfce29b7c05b
DO NOT MERGE
Bug: 6188932
Change-Id: I9ec7500a5b18bfe1a5a5bb1e5bf21c43351fc59e
For some reason we get a "restarting" flag from the browser
some times when the input field is different. The attributes
however are not the same, so we can detect that and reload
appropriately.
Bug: 6946793
Change-Id: I6762dae6f41db690497b026a707d9cc89c840b34
We don't know of any actual bug in the implementation of the
pool that may result in a deadlock, but this still implements
a means out of a deadlock if one ever arises anyway. It's
meant to improve the resilience of the spell checker.
Bug: 5441027
Change-Id: I689491090792dbb89110ee56631965c5bb2dc712
java.lang.ArrayIndexOutOfBoundsException:
[I offset=0 length=528 src.length=512
com.android.inputmethod.keyboard.ProximityInfo
.setProximityInfoNative(Native Method)
com.android.inputmethod.keyboard.ProximityInfo
.createSpellCheckerProximityInfo(ProximityInfo.java:85)
com.android.inputmethod.latin.spellcheck.AndroidSpellCheckerService
.createDictAndProximity(AndroidSpellCheckerService.java:411)
The array was too small with respect with the passed size.
Change-Id: I7777d7aecd17375d3fbf82854a66eb7a5a289ce6
This change also uses the key width to determine the sampling rate of
the gesture points (instead of the key height).
Change-Id: I987487825693b4883d8359eb5b31f1d668cd5ef4
And, use C++ style casts and use float math functions rather than double ones to save memory space.
Also, stop using FloatMath and NativeUtils as standard Math methods are faster now.
See http://code.google.com/p/android/issues/detail?id=36199 and https://android-review.googlesource.com/40700
multi-project commit with I4259fb5ab8a15ac5760a7f04fc8f4c860529f04a
Change-Id: I0b81cff8c91769f7559a59b9528c75a5aabb4211
It's useless to do the whitelist lookup twice. Also, putting
this test out of this method will allow whitelist entries to
come from other sources.
Bug: 6906525
Change-Id: I4afe678cae6556d16642d155ce770fbf4e61ad49
The commitTyped() called updateSuggestionStrip(), and that led to call
Suggest.getSuggestedWordsForTypingInput() even after a batch input was
started because WordComposer.commitWord() reset the batch input state.
Bug: 6932442
Change-Id: If645b1ef0343aa1e21ca71a9275b40c6c3be13df
A KeyDetector without Keyboard may exist in some rare cases. This
change eliminates throwing IllegalStateException and checks explicitly
against null.
Bug: 6891020
Change-Id: I29ec3e9f10484f30288fac76f0c45b3707bc2259
The Italian dictionary has been amended to contain words that
include apostrophes, and accordingly the apostrophe is now
excluded from word separators in Italian.
This code was only used for Italian, and in the general case
it does the wrong thing; it was only needed by limitations of
the old dictionary.
Bug: 6929108
Change-Id: I7ff4615e01899a1cebed2c4c51679cd0746740fe
This behaves exactly as the old makedict command. Further
changes will redirect the calls to makedict to this, so as
to consolidate similar code.
Groundwork for
Bug: 6429606
Change-Id: Ibeadbf48bec70f988a15ca36ebf5d1ce3b5b54ea
French and Italian separators used to be decided this way
because of how the old dictionaries were made.
However, the new dictionaries actually do include the
composite words, and in both French and Italian, apostrophes
and dashes shouldn't be treated as separators any more.
Change-Id: If11c42625c819e223502a76749dbe797163d3c18
Not sure exactly how this can happen, but at least this should
prevent us from crashing.
Bug: 6920884
Change-Id: I451864756b48c5cb5e98b06edee917d88766d77f
This change affects Ukrainian, Belarusian, Kyrgyz, and Russian
keyboard. The followings are the layout changes for each language
respectively.
[Ukrainian]
* Replace useless CYRILLIC LETTER E with CYRILLIC LETTER UKRAINIAN IE.
* Replace useless CYRILLIC LETTER HARD SIGN with CYRILLIC LETTER YI
on 10-inch tablet.
* Add CYRILLIC LETTER GHE WITH UPTURN as more keys of CYRILLIC LETTER
GHE.
[Belarusian]
* Add CYRILLIC LETTER IO as more keys of CYRILLIC LETTER IE.
* Replace useless CYRILLIC LETTER HARD SIGN with CYRILLIC LETTER IE
on 10-inch tablet.
[Kyrgyz]
* Add CYRILLIC LETTER IO as more keys of CYRILLIC LETTER IE.
* Remove CYRILLIC LETTER HARD SIGN from more keys of CYRILLIC LETTER
HA because CYRILLIC LETTER SOFT SIGN has it.
[Russian]
* Remove CYRILLIC LETTER HARD SIGN from more keys of CYRILLIC LETTER
HA because CYRILLIC LETTER SOFT SIGN has it.
This change also replace misspelled "more_keys_for_cyrillic_ye" text
name with "more_keys_for_cyrillic_ie".
Bug: 6881007
Change-Id: I9e88c4e27f66225e1676f2b286a7e55b9f2cbf5b