This is a cherry-pick in MR0 of CL 141388 from master.
Bug 5488537
In case the span has been removed from the text since the popup
was showed, the delete action is a no-op.
Change-Id: Iec2aeaf03becd82ad44715d5c08bfaa8f62aa3fe
1. Some obsolte logic was placing invalid index in the array of
scroll wheel items which was resulting in failure to look its
string representation from the cache causing a NPE.
2. While editing the current value via the IME the middle item
of the scroll wheel was partially visible i.e. the user was
able to see a dimmed version of the old value intermixed with
the new one.
3. The logic for hiding the IME while poking a button i.e. starting
to use another way of changing the current value, was incorrect.
bug:5480205
Change-Id: I1c2c96402bd38bac1dec64ccc6b550410332b9d7
The code that initializes accessibility events was assuming the AdapterView
always has an adapter and this caused NPE. Now the right method of the view
is called to get the item count.
bug:5474162
Change-Id: I6c330dc2894477df9447a4ecfddc7bd62c575d59
The NotificationPanel was using views that had non-1 alpha
values set on them (permanently). This is costly in the GL
implementation and caused more rendering overhead, and worse
performance, than simple opaque views would.
The fix is to set the text color and ImageView drawable alpha
directly, without setting the View alpha property.
Change-Id: I381e0bd45bf45784b8e364a27a339e6583189a43
Bug 5379440. The spell check is now using the IME's language to
do the spell checking. Changing the input language triggers a
new spell check of the entire text.
Optimizations: ArrowKeyMovementMethod re-uses the TextView's
wordIterator, already set to the correct language.
One wordIterator shared by all SpellParsers in SpellChecker.
Cannot re-use TextView's because of concurrency issues.
With the current implementation, one has to type a new character
to see the new spell checking take place.
Change-Id: I0e460c0a6777548f89d03d6b68f3deea6606c17f
The suggestion popup window was not dismissed on orientation change.
This is triggered by onDetachedFromWindow.
However, this method is also called when the suggestion popup window
pops up. A new flag detects that case to dismiss the popup unless it
has expressly been asked to show up.
Still errors in the log after that change, I assume related to the window manager.
Change-Id: Ia515fc576ddf2127b2f9863cc2652aeb619fff6e
This will be used by the contact app for the dial screen text input.
https://android-git.corp.google.com/g/#/c/141088/
New upload to trigger a new android-build-police build.
Error 137 on buld server, builds fine locally even after a make clean.
Change-Id: I9288f3cab5c3330d693e08f88611acdd03526a41
When a ListView with a FastScroller is located in a scrolling
container, defer the start of the drag operation for a short time or
until a touch slop is crossed. This allows these lists to be placed in
containers like ViewPagers without immediately stealing touch events.
Change-Id: I9b10b6993b24113c5e95c485bf57206747c73a84
Race condition: when spell check result come back, the spell check span may no longer
be in the text, although it should have been removed by removeSpellCheckSpan.
This is possible because onGetSuggestions is called from an other thread
and it can see the text in an inconsistent state where the span may have been removed
from the text, but the listener that calls removeSpellCheckSpan has not yet been called.
As a result, onGetSuggestions still lists the span but getSpanStart returns -1.
Change-Id: Ia40f7ed2b46fc94888fce5a6b209fb0d0d529bbe
In case the span has been removed from the text since the popup
was showed, the delete action is a no-op.
Change-Id: I6478e0953cab132a984174b596d1f813909cdc2d
Explicitly invalidate the seek bar thumb area when we change drawable
states for touch down. This prevents the thumb from only being
half-invalidated at the edges since it extends into the view's padding
region.
Change-Id: Icc4e608aca044b2d05f3a9378eced839c03947e6
When replacing a word, we need to remove *all* misspelled
suggestion spans, not just the one which triggered that popup.
Change-Id: I7be17ac626b26123b029f5e10c1e2eaa5f94d67c
Cherry picking since branching caught us in the middle of review.
1. If an AdapterView has no adapter and the view tries to fire an
accessibility event we get a null pointer exception.
bug:5439321
Change-Id: Ia3d7a5ad852ef42422d10d8a62c4d3af6792313b
1. If an AdapterView has no adapter and the view tries to fire an
accessibility event we get a null pointer exception.
bug:5439321
Change-Id: Ia3d7a5ad852ef42422d10d8a62c4d3af6792313b
The cached mText field from TextView is not constant overtime.
It is especially changed whne the first character of text is added.
Retrieve the actual current value everytime we use it.
Change-Id: Ie297a3292106879621e54a22e5d03444d442ec96
Make the new marshalling/unmarshalling code for the long sparse
array of ints always consistent.
And sane.
Change-Id: Ifbfbe6e56f59e469acb66257c504b1168d6566fa
Removed unnecessary CharSequenceIterator and made the WordIterator
work on String instead of CharSequence
Submit words to the spell checker by batches.
Refactored WordIterator to make it intrinsically local.
Change-Id: Ie9e30691985a130fa55cd052005ddb22a21761cb
ListView tracks check states in two ways, by position and by ID if an
adapter reports stable IDs. After a data set change there was no
guarantee that the position checked mapping was consistent.
Fix up the position mapping from the ID mapping after a data set
change. In the future this should happen by asking the adapter where a
given ID is now located, but this will require new API and not all
adapters in the wild will implement it. For now make a best guess by
searching in a limited window around the item's last known position.
Change-Id: I70ba89eb103c438b0410c3c6d066acc3918459f9