Commit graph

182 commits

Author SHA1 Message Date
Yohei Yukawa
de12c1bf49 Fix NPE due to the lack of null-check
The case that was not coverted well is that
CursorAnchorInfoCompatWrapper could be instantiated
with null object. In such situations, we should
do nothing.

BUG: 17682582
Change-Id: I6625a2f0ed8c5580ed9edfe4728f342da77a8e40
2014-09-29 17:03:29 +09:00
Yohei Yukawa
5896153f93 Use Add-To-Dictionary indicator only
With this CL, the previously used commit indicator was reverted.
Instead we use the add-to-dictionary indicator only at the moment.

This CL also fixes the indicator position in bidi context.

BUG: 17335734
Change-Id: I5f7cf173ddc30876e2b01320acaff8ba4265edf6
2014-09-18 16:06:35 +09:00
Yohei Yukawa
a8ecd29646 Follow up API signature changes of CursorAnchorInfo
This is a follow up CL for Ic8c6fab58c01206872a34e7ee604cdda.

No behavior change is intended in this CL.

BUG: 17365414
BUG: 17335734
Change-Id: I4299536d0cb0c660b7b564653c72c9cb409a7aa5
2014-09-08 17:07:34 +09:00
Yohei Yukawa
5d6ac77732 Follow up API signature change
This is a follow up CL for API signature change in
I772c48ff18918e48a81e807b48ff907614485c09

BUG: 17320996
Change-Id: Ic8b6162bda12bf74fae79af212c5d81c400eb9e8
2014-09-03 01:13:15 -07:00
Yohei Yukawa
8c42bf54af Follow API signature change in CursorAnchorInfo
This is just a follow up CL for Ia8cbb9f6b41cd9509fc0147fd68763df.
No behavial change is intended.

BUG: 17200900
Change-Id: Iba23b731ebde64ec2e816c5b4bef1d93632fce1e
2014-09-02 16:29:35 -07:00
Tadashi G. Takaoka
f507d1febb Support RTL layout in custom input style settings
Bug: 17322353
Change-Id: I3b211ab8729121271563a8a243558a58ee7847c2
2014-08-29 18:28:53 +09:00
Jean Chalard
a2928484f6 Add new attributes to our notification
Bug: 17167221
Bug: 17128331
Change-Id: I6a045fd2398f40dbdc10c9d20993f7513e1f2cff
2014-08-28 07:47:07 +00:00
Jean Chalard
8380f921f7 Fix a bug where the top prediction would disappear.
This is because prediction can't be easily distinguished in
style. This fixes the bug by simulating the right members,
but some refactoring should be done to remove useless
booleans.

Bug: 17271923
Change-Id: Ib88f3fb95678021624e59535492926dd315d26fb
2014-08-26 20:35:59 +09:00
Yohei Yukawa
cabb66e9bc follow-up to API change in I4a577bfd02b37b
BUG: 17182367
BUG: 17185263
Change-Id: Id54ca29c191b9752fa82ffe5a960113b2e97e5c1
2014-08-21 21:39:15 -07:00
Ken Wakasa
c37205f5ab Merge "DO NOT MERGE: Abolish source code overlay and introduce overridable src dir" into lmp-dev 2014-08-16 04:25:55 +00:00
Ken Wakasa
0b3e48fb50 DO NOT MERGE: Abolish source code overlay and introduce overridable src dir
This should make IDEs happy with appropriate source code directory
selection.

Change-Id: Ic734bd4d20aa050c688a3158b1a382ae0ac18991
(cherry picked from commit fb74ab15c1)
2014-08-20 02:56:09 +00:00
Yohei Yukawa
fa39ffcf84 Support more methods in the wrapper of CursorAnchorInfo
This CL add more compatibility wrapper methods for
CursorAnchorInfo.

This CL also adds more utility functions and types into
CompatUtils to reduce explict cast operations.

Change-Id: Id50165b552bbf28b832a6da13bf06eedcd2a190e
2014-08-20 09:27:22 +09:00
Tadashi G. Takaoka
78cff10f8d Add BuildCompatUtils to get an effective platfrom API version
This CL removes reference of VERSION_CODES.CUR_DEVELOPMENT.

Bug: 13888366
Change-Id: I5c8499a175473a220c8fb04ead219760c585a19a
2014-08-13 16:21:23 +09:00
Yohei Yukawa
deff9495f7 Add CursorAnchorInfoCompatWrapper for KitKat and older platforms
Change-Id: Ia26c783ebefd7b928d623a598792b7ba32d89a80
2014-08-12 17:26:56 +09:00
Tadashi G. Takaoka
a262144dcb Add ViewCompatUtils.setElevation
Bug: 16210054
Change-Id: I632158951a60ab527246410caefd9fbe471dd859
2014-08-05 18:56:24 +09:00
Tadashi G. Takaoka
03a1c442ae Clean up compatible utility classes
Change-Id: I95a682052037d292801477db0f05e04926b61412
2014-08-04 01:21:29 +00:00
Yohei Yukawa
3f513f107e Enable InputMethodService#onUpdateCursor behind the flag
With this CL, InputMethodService#onUpdateCursor and
InputMethodService#onUpdateCursorAnchorInfo can be enabled
on L when ENABLE_CURSOR_ANCHOR_INFO_CALLBACK and
ENABLE_CURSOR_RECT_CALLBACK are specified, respectively.

BUG: 16382260
Change-Id: I29924128f6bd2f08cbd91cc4e82c9c4a6ecce3ff
2014-07-20 20:56:52 +09:00
Yohei Yukawa
5696ac95ac Add two convenient utility methods for L new API
This CL adds two convenient utility methods for
InputConnection#requestCursorAnchorInfo to encapsulate
a bit complicated parameter construction.

BUG: 16382260
Change-Id: Ib11e3bd15a4edcb602c08ff830b2fb7b34ec00da
2014-07-19 23:42:37 +09:00
Yohei Yukawa
413aded600 Add a compatibility library for newly added methods in L
This CL adds an compatibility library for
InputConnection#requestCursorAnchorInfo method that is supposed to
be available in L and later.

BUG: 16382260
Change-Id: I68be0c56b9fd929546e8706ccece938ae4f33339
2014-07-18 08:30:12 +09:00
Tadashi G. Takaoka
5a5ee95fae Rename ProductionFlag to ProductionFlags
Change-Id: I5da2dbf8828fa0e176e7c2496392a5f561ebfe20
2014-07-16 19:26:32 -07:00
Tadashi G. Takaoka
2dae79b196 Rename LatinImeLogger to DebugFlags
Bug: 15318007
Change-Id: Ic0268fd12865c9a692a5e7110a9beb76cb8b6d7f
2014-07-16 18:49:00 -07:00
Yohei Yukawa
fc137f35c8 Simplify the wrapper for TextInfo#getCharSequence
This CL simplifies the wrapper method for
TextInfo#getCharSequence() because in the almost all cases we want
to use the result of TextInfo#getText() as the default value.

BUG: 16029304
Change-Id: I62f987aed8ca42b093255e6c0703d6120fa01299
2014-07-09 23:52:44 +09:00
Yohei Yukawa
733ec699cd Add a compatibility utility class for TextInfo
This is a groundwork for enabling LocaleSpan support in spell
checker service. TextInfo#getCharSequence is supposed to be
available in API Level 21 and later. We need some abstraction
layer as usual.

BUG: 16029304
Change-Id: Iafbf2877db393dbd040295c21d429334e3a13a5f
2014-07-08 14:10:12 +00:00
Yohei Yukawa
ece4548eb5 Ensure each character is coverted by at most one LocaleSpan
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
2014-07-07 20:13:55 +09:00
Yohei Yukawa
a92fead202 Add compatibility utility class for LocaleSpan
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
2014-07-04 20:31:34 +09:00
Yohei Yukawa
3895d7f8dc Additional subtype ID should be independent of OS-version
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
2014-07-04 15:08:58 +09:00
Keisuke Kuroyanagi
a6278eb9c1 Use whether it's exact match to detect distracters.
Bug: 13142176
Change-Id: Id5b7286d28897931f7bfe571be45d46ffeef4adf
2014-05-26 21:56:20 +09:00
Tadashi G. Takaoka
630a24141e Use ViewCompat support library and delete ViewCompatUtils
Change-Id: I57d60cacd86e83894294c3f64402aba8c1829872
2014-05-24 12:26:30 +09:00
Tadashi G. Takaoka
790934158d Revert "Use ViewCompat support library and delete ViewCompatUtils"
This reverts commit db21267b78.
The reverting change breaks build in unbundled jb-ub-latinimegoole branch.

Change-Id: Ia61424f5321eb97f981d22c4b08e9ea8d348f6c1
2014-05-23 18:31:43 +00:00
Tadashi G. Takaoka
db21267b78 Use ViewCompat support library and delete ViewCompatUtils
Change-Id: Ifee496ff7ecaf361898444ff4127f16748d96422
2014-05-24 02:13:52 +09:00
Tadashi G. Takaoka
a91561aa58 Use Java 7 diamond operator
Change-Id: If16ef50ae73147594615d0f49d6a22621eaf1aef
2014-05-24 01:05:42 +09:00
Keisuke Kuroyanagi
a9f0a96377 Merge "Handle user dict as an ExpandableBinaryDictionary." 2014-04-30 12:44:25 +00:00
Keisuke Kuroyanagi
9ed7e47539 Handle user dict as an ExpandableBinaryDictionary.
Bug: 13755213
Change-Id: I2d242a3332e9633d4e41e08c0bbfafcefd814ecd
2014-04-30 20:35:08 +09:00
Yohei Yukawa
8ba4f33709 Use shouldOfferSwitchingToNextInputMethod when available
With this CL, LatinIME starts using
InputMethodManager#shouldOfferSwitchingToNextInputMethod when
available and API level is higher than 19 (KitKat).

Note that relevant settings of LatinIME will be ignored if
InputMethodManager#shouldOfferSwitchingToNextInputMethod is
considered to be available at the moment. We will revisit
here to reorganize the user visible settings before the
new global IME switching mechanism becomes publicly
available.

BUG: 12965588
Change-Id: I0188fa56cba8e983c61cef3ae3400a0e3821f718
2014-04-28 15:11:19 +09:00
Yohei Yukawa
da498229f4 Merge "Plumbing for ProductionFlag.USES_CURSOR_ANCHOR_MONITOR" 2014-04-13 12:56:43 +00:00
Yohei Yukawa
fab4ce43f8 Plumbing for ProductionFlag.USES_CURSOR_ANCHOR_MONITOR
With this CL, LatinIME starts calling
InputMethodService#setCursorAnchorMonitorMode in #onStartInput()
when ProductionFlag.USES_CURSOR_ANCHOR_MONITOR flag is explicitly
set to true.

BUG: 13891796
Change-Id: Ib2fb0c3521b61859d4cc530155ccaaee7ee16cbc
2014-04-11 12:26:33 +09:00
Jean Chalard
4370ff0998 Fix some flaky tests.
In tests, we create many instances of LatinIME, but we never
destroy them. That means we never close the dictionaries nor
the handlers.
This change calls onDestroy, which closes all dictionaries, and
adds some code to finish the handlers.

Change-Id: I942517a2a940c54256b08763f6b38f5b55809f55
2014-04-10 17:32:05 +09:00
Tadashi G. Takaoka
20ddd4cff5 Add InputMethodSubtypeCompatUtils.isAsciiCapable()
Change-Id: I8145f090486f6fe30ef1e992db374cfba0c31012
2014-02-17 16:08:33 +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
Tadashi G. Takaoka
e4692c0050 Revert "Use ViewCompat support library"
This reverts commit e7ee4fa862.

Change-Id: I56fab60ac859289d3ed51f691cd7e2a15da01856
2014-01-27 18:14:40 +09:00
Tadashi G. Takaoka
e7ee4fa862 Use ViewCompat support library
Change-Id: I4ba261752750f5087cba810045669512b430b5e0
2014-01-27 16:11:03 +09:00
Jean Chalard
e22e67e37a [IL57] Don't require a main dict suggestion.
This is bad for recorrection (it will ignore recorrection suggestions).
But if you think about it well, if you didn't have a main dict, then you
probably will compute the same stuff anyway. It's not useful
to make this check at all.

Bug: 12297051
Change-Id: I6d6cf4d9353b7c668c5413c67701563b243e585c
2014-01-16 03:22:51 +09:00
Jean Chalard
1404c1af85 [IL21] Move the workaround utils to a better place.
Bug: 8636060
Change-Id: I566f9e109ebcabe3a6a778118434ce79d02d1113
2013-12-20 16:48:54 +09:00
Jean Chalard
a905fcec00 [IL16] Improve getTextWithSuggestionSpan
Dynamically test for the presence of main dict suggestions. This
is much more potent and more accurate than the vaguely defined
boolean.
Also, resolve a TODO and avoid creating an object uselessly.

Not directly related, but helpful with:
Bug: 8636060

Change-Id: Ib1745f77ee6d9ec7cd8bbfa5a548652ec84ec902
2013-12-20 15:13:48 +09:00
Satoshi Kataoka
50f9ca4acd Fix crash in AdditionalSubtypeUtils
Bug: 11136982

Change-Id: I9d022a178c47bad3566be4c0bd8ffbce0b14896d
2013-10-09 12:50:50 +09:00
Satoshi Kataoka
03e55efe03 Add a utility of isLowRamDevice
Bug: 8967766

Change-Id: Id7132d1155bb3489bdab72d613289335945808e8
2013-09-24 19:53:35 +09:00
Jean Chalard
93445b4821 Fix some warnings
Change-Id: I7290cd1fb675a1b85b9b6ac2d464c932b5bca1dd
2013-07-31 16:17:01 +09:00
Ken Wakasa
e28eba5074 Move util classes to the latin/utils directory
Change-Id: I1c5b27c8edf231680edb8d96f63b9d04cfc6a6fa
2013-06-24 17:04:40 +09:00
Tadashi G. Takaoka
db7d4da3e5 Clean up IntentCompatUtils a bit
Change-Id: I803aa6c2160bfa1ffe992b28e7eb6e8a320c9762
2013-05-21 15:13:23 -07:00
Jean Chalard
89fe1f5088 Add a method to work around apps broken by recorrection
Bug: 8944307
Change-Id: I8986622554f30aaf4f595099c4ab5652b75c972c
2013-05-21 07:53:31 +09:00