This is a groundwork to attach LocaleSpan for committed text
in LatinIME.
This CL adds a utility method to ensure that a given range
of the text is coverted by at most one LocaleSpan. Of course
it could be possible to allow a substring to be coverted by
multiple LocaleSpans at the same time, but ensuring uniqueness
for LocaleSpan is supposed to be a good starting point.
BUG: 16029304
Change-Id: Ic33a7178d0df1f05d3626aeb5773ec902254703f
This is a groundwork for enabling LocaleSpan support.
LocaleSpan is available in API Level 17 and later. We need some
abstraction layer as usual.
BUG: 16029304
Change-Id: Iead1afdc540216edb1b17f91a40d9edb2e790168
This CL removes following methods from StringUtils, which are
no longer used since Id3c262386a7bc7ed75966b1395a50171abe550d3.
- #joinCommaSplittableText
- #appendToCommaSplittableTextIfNotExists
BUG: 16000850
Change-Id: Ibdc9b7e463a19cdfac788b24c0a6322d0c5850c5
This CL consolidates the initialization logic for additional
subtypes so that each additional subtypes can have predictable
subtype ID regardless of OS version.
Previously subtype IDs for additional subtypes are calculated
differently depending on the running OS version with hoping it
minimizes the risk of compatibility issues. However, it is
getting harder and harder to maintain slightly different
logic between OSes. Thus we decided to unify the logic into
that in KitKat even though it may causes some breaking changes.
Note that the actual extra values that are used to instantiate
InputMethodSubtype object are still determined on the fly
depending on the running OS version. However these actual
extra values are no longer used for the subtype ID calculation.
BUG: 16000850
Change-Id: Id3c262386a7bc7ed75966b1395a50171abe550d3
Special case <valid word>.<valid word> to send as a suggestion
the same string where the periods is replaced by a space.
Bug: 10780091
Change-Id: I43c94675977f9ab5d7ee5671486cb742b39f3974
This member has outlived its usefulness. It's not clear now that it
makes things really faster, but it does bring a lot of complexity
that we can avoid by removing it.
Change-Id: Ifbc8094a45b56b958fe165b1930f4cc358a97721
Rename `initialize' to `start' and `deactivate' to `stop' for ease
of understanding. It's completely bizarre that you can "deactivate"
a recapitalization and that will just restart a new one the next time
you press shift. Start and stop are easier to understand.
Change-Id: I455175aebfcfe11198c6c61bf2c6b19efc3f82df