The method WordComposer.moveCursorByAndReturnIfInsideComposingWord() iterates
through all the code points in the word that's currently being composed, and
it tries to adjust the cursor position by a given amount (left or right).
It copies the code points to a new array while processing. But the code point
count comes from a member variable. If the member variable changes while the
method is processing the copy of the code points, it can run over the length
of the code point array.
Bug 18876474.
Change-Id: Ib3a2d90a4e82b76d381efa774e6b3d6bca99c869
- Show the opt-in text
- Show the account picker if user presses 'enable sync'. Previously
we disabled the sync pref which was confusing.
- Remove the debug tags from some prefs; and improve messaging overall
General rules;
- sync is turned ON : user checks 'enable sync' pref AND
accepts the opt-in AND chooses an account
- sync is turned OFF: when user signs out
Demo link
https://drive.google.com/a/google.com/file/d/0B9tNQOWdRuiWSUdVVE5rVDJudlk/view?usp=sharing
Change-Id: I2e7933796b15e47005ba9970a8c1294416ef31a0
When the LatinIME does not have an active InputConnection, it will not try
to toggle the Emoji keyboard.
Bug 19513415.
Change-Id: I31f928cd7db1cddd771c548cd3dc42f8af64d0e2
Currently, the Delight3DictionaryFacilitator sets a boolean flag when the top
suggestion score exceeds the auto-correction threshold. This flag is used to
trigger auto-correction of the typed word. Also, the existing logic assumes
that if allowsToBeAutoCorrected then the word is invalid, which is no longer
true after we stopped using whitelists.
Bug 19518376.
Change-Id: Ifa7f6a09c07d25ac68c6cf3aec91f358bd88689f
Simplify interfaces by passing Keyboard instead of
KeyboardLayout and ProximityInfo directly. Also require
the Keyboard passed be non-null and change the SpellChecker
to bail out if there is no keyboard for the locale.
Change-Id: I960f15ff60171f55d3e0a96fd6469b7dc3a045e2
hasn't been called yet. This breaks the AOSP SpellChecker. This seems
to be a bug introduced recently, when the
DictionaryFacilitatorLruCache was turned into a "cache" of 1 element.
Change-Id: I55f6c18b274c9a33fd62cb25bcd02f64788d5ff0
The objective is to show an app icon when the user installs the keyboard from
the Play Store, but not show the icon when it comes from the system image.
The latter rule applies to AOSP keyboards and to the Google Keyboard on a
Nexus device.
This change partially reverts ag/613096.
Bug 19001197.
Change-Id: Icb202deffe9f1ab2bde9b3c9d221347da6793a19
There should be 1 executor each for static and dynamic language models.
This prevents too many dynamic LM updates from running in parallel,
competing for resources.
Change-Id: I8ec439e0ea2d92fba275bc20a0b8c9193346a0c1
Unfortunately, our Locale objects don't always have a script code.
But we can get almost the same functionality by specifying script
codes for some languages, and defaulting the rest to Latin.
Change-Id: Id81ff67bf44c84f44707a2e167c2787c60c6ecee
Break contacts binary dictionary into two parts
- one that talks to contacts content provider and maintains
local state. Includes a manager class and a content observer
- other one that just manages the dict code.
Change-Id: Ie8f89ac9ce174c803ff3168ee0bee5cbe7721d5b