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
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
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
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
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
This CL eliminates "_" and "/" keys from the bottom row of tablet
keyboard. This CL also reorganizes the bottom row of tablet Dvorak
keyboard.
Bug: 16603887
Change-Id: Ic1570836dea1a475bed5d43aeb6a351507bf5428
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
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
This is a groundwork for subsequent CLs whith need to
do certain things for and only for the typed word.
Change-Id: I374b79cbc79470f57f523c996010301ea5701a61
This CL simply moves the method calls of #requestCursorAnchorInfo
into #onStartInputInternal just to consolidate the logic.
Change-Id: Ia205738b9614e9ae375c1dab767a91d2e1f6d0d3
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
If we render our UI around the composing text in the fullscreen
mode, probably we need to have our views under
android.R.id.extractArea, which is implemented as FrameLayout.
Therefore, using FrameLayout for the backing view makes it easy
to simplify the code between normal mode and full screen mode.
Change-Id: I69533b22d9d1368ad906dc5ef7be1a1b674d10b8
This should make IDEs happy with appropriate source code directory
selection.
Change-Id: Ic734bd4d20aa050c688a3158b1a382ae0ac18991
(cherry picked from commit fb74ab15c1)
RelativeLayout allows the IME to place its UI element at an
arbitrary position on the backing view.
Change-Id: Ib40d2111f56d8f38007e37c6c47536db3f0bef75
With this CL, the backing view starts covering the content area
entirely. This allows the IME to render its UI elements at an
arbitrary position on the screen.
Change-Id: I8b4173410931b776964dddf66de2fe247e51d9de
This CL never changes existing behavior because
ProductionFlags.ENABLE_CURSOR_ANCHOR_INFO_CALLBACK is
not yet turned on.
Change-Id: I4bcbd2aebd05977b07231e8aa14acdcf6d8e1fa0
This CL also disables Tamil (Sri Lanka) subtype in conjunction with
Sinhala (Sri Lanka) subtype.
Bug: 6911143
Bug: 9978106
Change-Id: I686b4e5d2c79039ca8d837d3227448d69c7e47de
This CL adds Tamil (Sri Lanka) and Tamil (Singapore) subtypes.
This CL also fixes Sinhala Keyboard's currency symbol.
Bug: 9978106
Bug: 6911143
Change-Id: I2060978097882d0f4b1ec10f1103260ed8a447d0
AAPT previously allowed apps to generate resources in the android
package. This is no longer allowed after I1be66e3f8df9a737b21c71f8a93685376c7e6780.
Change-Id: Icda68829c0bf9254b6637f0ec2cecc0b357dbc43