Commit graph

7491 commits

Author SHA1 Message Date
Jean Chalard
f95770354c Straighten the dead char implementation, take 3.
Change-Id: I4f70f6eebe076c7d2b780d25e3a2c1d3faa2edfa
2014-08-28 16:03:45 +09:00
Keisuke Kuroyanagi
b85349e981 Merge "Create DictionaryFacilitatorLruCache." 2014-08-28 03:09:28 +00:00
Yohei Yukawa
af5c2b24e7 am 8d0d2363: am acce1aa5: Make sure to obtain the IC before requesting CursorAnchorInfo
* commit '8d0d236394548be4e2302a03960ce4ee363a5483':
  Make sure to obtain the IC before requesting CursorAnchorInfo
2014-08-27 23:41:33 +00:00
Yohei Yukawa
acce1aa59e Make sure to obtain the IC before requesting CursorAnchorInfo
RichInputConnection#requestUpdateCursorAnchorInfo must make
sure to obtain the input connection before calling methods
of it.

BUG: 17299587
Change-Id: I8e0cd473a4cc32583cd47634c227d702f7c69c6c
2014-08-27 15:59:52 -07:00
Ken Wakasa
95c4d26994 Merge "Revert "Straighten the dead char implementation."" 2014-08-27 15:07:52 +00:00
Ken Wakasa
0ba6bcb16d Revert "Straighten the dead char implementation."
This reverts commit 5ef447aeea.

Reverting because this broke a bunch of unit tests -- https://sponge.corp.google.com/target?id=b6439742-099e-46cb-8f00-d0c602a4d9bb&target=com.google.android.inputmethod.latin.tests&searchFor=&show=FAILED&sortBy=STATUS

Change-Id: Ibbd9e11372993f62e630fd9da37158ffcf47c17a
2014-08-27 15:07:28 +00:00
Keisuke Kuroyanagi
d267764d5a Create DictionaryFacilitatorLruCache.
This class is separated from AndroidSpellCheckerService

Bug: 16547557

Change-Id: I3e58521207395588cecb2977234b89067d6da8c3
2014-08-27 22:00:48 +09:00
Jean Chalard
4204d59864 Merge "Straighten the dead char implementation." 2014-08-27 12:54:49 +00:00
Tadashi G. Takaoka
8b5788d72b am 68a2a69a: am 37beaf15: Simplify onComputeInsets of LatinIME
* commit '68a2a69ae35352650a4c6dfc0b0c69069c4a1e1d':
  Simplify onComputeInsets of LatinIME
2014-08-27 10:44:51 +00:00
Tadashi G. Takaoka
37beaf1529 Simplify onComputeInsets of LatinIME
This CL expands SoftInputWindow to the entire screen. Thus a key
review backing view is eliminated and onComputeInsets() gets
simplified too.

Bug: 17212702
Bug: 10841052
Bug: 10541453
Change-Id: I2d859f4e4698c64cabe399000821f13bab729996
2014-08-27 19:20:38 +09:00
Yohei Yukawa
00042cb453 am c925ca43: am 97681ebd: Set highlight color along with the commit indicator
* commit 'c925ca43a6e0b3175feb002ce6b5577ef7d66507':
  Set highlight color along with the commit indicator
2014-08-27 10:01:24 +00:00
Ken Wakasa
6da1c674fd resolved conflicts for merge of 8159336b to master
Change-Id: I9dd726593c6768b1db35305935ee69b0937358ef
2014-08-27 18:55:39 +09:00
Ken Wakasa
c1596086d3 resolved conflicts for merge of 0268f736 to master
Change-Id: Ib89ef55a8752f9b5e357eed3a05c79dd28d0ec0e
2014-08-27 18:41:31 +09:00
Jean Chalard
5ef447aeea Straighten the dead char implementation.
This now supports all cases, including cases not supported by
the framework.
Now rebased on top of the right change, and renamed

Change-Id: I7886f0dcbb86cdb4dccec09aa7c52ad339680e04
2014-08-27 17:59:39 +09:00
Yohei Yukawa
97681ebdf1 Set highlight color along with the commit indicator
With this CL, the text highlight color is applied
when the commit indicator is displayed.

Note that the underline is not rendered when the
background color is enabled. This is a known issue.

Change-Id: Ia19355e1303e3a10e8a7d69bc47c779feb70248a
2014-08-27 01:41:16 -07:00
Yohei Yukawa
29200b0abe Set the text bgcolor only when CursorAnchorInfo is available
When CursorAnchorInfo is unavailable, we shouldn't try to show
the commit indicator and set the text highlight color.

With this CL, RichInputConnection can be used to track if the
application responded that it does support CursorAnchorInfo or
not.  This result will be taken into consideration when
InputLogic needs to determine whether the commit indicator
should be displayed or not.

Change-Id: I945d70eeb02a7a5f3d9b22459b23d7028508910f
2014-08-27 01:30:45 -07:00
Yohei Yukawa
a475c85480 Introduce a mechanism to hide the indicator speculatively
This is an optional optimization to reduce the UI latency.

Imagine that the commit indicator is now displayed and the
composing text is being updated, it is highly likely that
the commit indicator will disappear unless the application
rejects the setComposingText request.

If we assume that the application will accept the new
composing text without any modifications, we can hide the
indicator without waiting for the arrival of new
CursorAnchorInfo event.

This optimization isn't dangerous because we can show the
indicator again when we receive new CursorAnchorInfo event
and the assumption is turned out to be invalid.

Change-Id: Id59c6607a1029782410611e768791af9984f14ac
2014-08-26 23:42:53 -07:00
Yohei Yukawa
bea17c49ec Introduce commit/add-to-dictionary indicators
This CL introduces commit/add-to-dictionary indicators.

Note that the text is not yet highlighted when the commit
indicator is displayed. It will be addressed in subsequent
CLs.

Change-Id: I7e9b0fcfdc0776a50a1d8cfb41ee0add813317dd
2014-08-26 21:20:27 -07:00
Ken Wakasa
4660ecaa44 Merge "Fix a bug where mic/emoji key wouldn't work." 2014-08-26 13:30:15 +00:00
Jean Chalard
e38043849e Fix a bug where mic/emoji key wouldn't work.
Bug: 17272902
Bug: 17269948
Change-Id: I561609fa84a6265f8148db7d2411bc1fd38dd163
2014-08-26 22:06:21 +09:00
Jean Chalard
96522da9eb am 2a2d324e: am 8380f921: Fix a bug where the top prediction would disappear.
* commit '2a2d324eb627807a9d09b491fbb4ac78ffb253fc':
  Fix a bug where the top prediction would disappear.
2014-08-26 12:37:17 +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
David Faden
9cf69a45b2 Adds documentation for a few methods.
Change-Id: I6bdae25a8b81cdac931f2591f33570b01e34fb2c
2014-08-26 08:08:24 +00:00
Keisuke Kuroyanagi
bf6fc4953b Merge "Get dynamic dict stats via DictionaryFacilitator" 2014-08-25 11:24:54 +00:00
Yohei Yukawa
d8dfac6dcb am abf05cc0: am fdfe73ff: Merge "Use more descriptive names for some internal fields" into lmp-dev
* commit 'abf05cc0da1ead7e270a7c99bf9f000dabf91f5b':
  Use more descriptive names for some internal fields
2014-08-25 10:16:11 +00:00
Jean Chalard
1a31d784cd Merge "Introduce onEvent() to improve testability" 2014-08-25 09:57:42 +00:00
Yohei Yukawa
fdfe73ff1f Merge "Use more descriptive names for some internal fields" into lmp-dev 2014-08-25 09:50:59 +00:00
Tadashi G. Takaoka
d147db8763 am c500700f: am 19dd34a0: Show view even when IME is explicitly shown with physical keyboard
* commit 'c500700faec11b7a6d54a821009be4d657c43394':
  Show view even when IME is explicitly shown with physical keyboard
2014-08-25 09:35:08 +00:00
Yohei Yukawa
a61b7245b0 Use more descriptive names for some internal fields
This CL clarifies that delay parameters are specified with
milliseconds.

Change-Id: I401a60b8c09c2a04201af5b74babcdb091c07f4a
2014-08-25 02:28:01 -07:00
Jean Chalard
ee8ebeecbf Merge "Fix unit tests" 2014-08-25 09:26:17 +00:00
Jean Chalard
dc110b2a6a Fix unit tests
Change-Id: I48bfa4e4dd80f36d2fe0a1e9d2a2706533cc722e
2014-08-25 18:19:00 +09:00
Tadashi G. Takaoka
7defe926ca am 4a782da3: am f145fff0: Merge "Fix NPE when pressing ALT key" into lmp-dev
* commit '4a782da382b83164ea5c23c771b771e73bbe31b3':
  Fix NPE when pressing ALT key
2014-08-25 08:25:42 +00:00
Yohei Yukawa
4587b135be am 2d508203: am 8681287c: Fix build due to an illegal character
* commit '2d508203c64f50ed47fb87c24ae5ebbfb0610a36':
  Fix build due to an illegal character
2014-08-25 08:25:35 +00:00
Yohei Yukawa
8c7daa829a am 02716083: am 5eebaddc: Merge "Dismiss "Add to dictionary" hint with non-special char event" into lmp-dev
* commit '02716083158c3affbcfc719ff6471112d7397578':
  Dismiss "Add to dictionary" hint with non-special char event
2014-08-25 08:25:34 +00:00
Yohei Yukawa
a5687ee9f7 am b65a1e46: am 2c4cce8d: Merge "Introduce #shouldShowAddToDictionaryHint" into lmp-dev
* commit 'b65a1e46ce06adc462dfc4cbde302ac27a79b695':
  Introduce #shouldShowAddToDictionaryHint
2014-08-25 08:25:33 +00:00
Yohei Yukawa
f6f55add17 am e0d00803: am 4a71d2c4: Allow to add/remove background color to/from the committed text
* commit 'e0d00803087ac2f873332d43a78453c068633545':
  Allow to add/remove background color to/from the committed text
2014-08-25 08:25:31 +00:00
Yohei Yukawa
c06c6e42ad am 7d146cdb: am cd6ef9a8: Indroduce SuggestedWords#getTypedWordInfoOrNull
* commit '7d146cdbe86692f153fb5b7f781f701a8c04050d':
  Indroduce SuggestedWords#getTypedWordInfoOrNull
2014-08-25 08:25:24 +00:00
Jean Chalard
908f0ed154 Introduce onEvent() to improve testability
...and prepare for the future

Change-Id: Ieed96ab552993fd148e80b9c3355f1b569bd716f
2014-08-25 16:33:47 +09:00
Tadashi G. Takaoka
19dd34a023 Show view even when IME is explicitly shown with physical keyboard
Bug: 17242477
Bug: 13988700
Change-Id: I519c0481760a9aa93a5d9bee68e0f6a3a8fc4d9d
2014-08-25 16:28:44 +09:00
Tadashi G. Takaoka
f145fff085 Merge "Fix NPE when pressing ALT key" into lmp-dev 2014-08-25 06:52:36 +00:00
Keisuke Kuroyanagi
9cbf814cb5 Get dynamic dict stats via DictionaryFacilitator
Bug: 16553957
Change-Id: Ida08ceaf34708daed52d61b3d5adfbdb48e42c71
2014-08-25 15:19:48 +09:00
Tadashi G. Takaoka
ad1f880811 Fix NPE when pressing ALT key
Bug: 17203708
Change-Id: I4f203603496e9401dacba4db21372e3353916418
2014-08-25 15:08:27 +09:00
Jean Chalard
dc44260484 Merge "Revert "Revert "[ML1] Introduce RichInputMethodSubtype""" 2014-08-25 05:24:28 +00:00
Jean Chalard
85ddfe1317 Revert "Revert "[ML1] Introduce RichInputMethodSubtype""
This reverts commit a63d0a8ee6.

This patch seems to be fine after all, but was submitted without its companion [ML1.1] patch causing a build breakage. Reverting the revert and submitting both at the same time seems like the right thing to do.

Change-Id: Ib8fefa40b74dcee0edb025a52dac9b35c82d49df
2014-08-25 04:42:15 +00:00
Yohei Yukawa
8681287cd6 Fix build due to an illegal character
Change-Id: I597ab26db70387b80ddcd7d51de6ae751380030d
2014-08-24 21:14:41 -07:00
Yohei Yukawa
5eebaddccb Merge "Dismiss "Add to dictionary" hint with non-special char event" into lmp-dev 2014-08-25 04:08:56 +00:00
Yohei Yukawa
ebc1509039 Introduce #shouldShowAddToDictionaryHint
This is a groundwork for subsequent CLs where we need to
call this method from multiple places. This CL does not
change any existing behaviors.

Change-Id: Id8fa0360305d7383571edffab6752b2240367cf9
2014-08-24 20:59:30 -07:00
Yohei Yukawa
034c326078 Dismiss "Add to dictionary" hint with non-special char event
This CL slightly extends the condition when "Add to dictionary"
hint is dismissed.

With this CL, "Add to dictionary hint" will be dismissed by any
non-special char event. This is more comfortable especially if
we start using more intrusive UIs such as indicator and/or
background color with the text hint in the suggestion strip.

Change-Id: I2ea0fa40d9c6663ebf5d5439be3eca2a2cbd5166
2014-08-24 20:32:22 -07:00
Yohei Yukawa
4a71d2c480 Allow to add/remove background color to/from the committed text
This is a groundwork for subsequent CLs where we need to
add/remove background color to/from the commited text.

In this CL, we use Spanned#SPAN_COMPOSING so that we can easily
remove such a background color by calling
InputConnection#finishComposingText. To make this operation easy
and realiable, we need to track whether we have specified the
background color to the commited text or not at one place. Here
we use RichInputConnection for this purpose.

Change-Id: I5f9bc4425c5d1b80a719a20e5baf336729ec08d2
2014-08-24 20:28:24 -07:00
Yohei Yukawa
cd6ef9a8b1 Indroduce SuggestedWords#getTypedWordInfoOrNull
This is a groundwork for subsequent CLs whith need to
do certain things for and only for the typed word.

Change-Id: I374b79cbc79470f57f523c996010301ea5701a61
2014-08-24 16:32:17 -07:00