Bug 2597058
ListView's touch scrolling can query the adapter for new views. As we now
flush pending touch events before running layout/draw traversals (when we
normally bring ListView back in sync), this can now happen more often.
Resync data before executing a scroll if a data set change is pending.
Change-Id: I3e4eba4c2537911ba9cb3393ee4d9e68e46f84bb
1. Make the feature opt-in (ViewGroup::layoutMode defaults to CLIP_BOUNDS) without inheritance.
2. Rename COMPONENT_BOUNDS to CLIP_BOUNDS.
3. Rename LAYOUT_BOUNDS to OPTICAL_BOUNDS.
4. Complete GridLayout implementation.
5. Change the default_gap between components to 8dp, to align with the Style Guide.
Change-Id: I8d40dfc5f4ca469f6424eb3ff60d07bec56e3a9f
Adjust AbsListView to use a linear interpolator for smooth scrolling
rather than the default scroller behavior. This prevents irregular
motion as the scroll is altered in-flight to account for varying
height list items.
Bug 6397800
Change-Id: I8cc33dfc18903943369e1353930c48e2652b0142
Removed safety net getEditor() method.
Cleaned-up trailing spaces.
Enforced the 100 characters limit on all lines.
Change-Id: I0e0d704f8b795cd2e2d040f31c20e63c60fa31a8
Will also fix Bug 6344997
The previous TextWatcher mechanism was inneficient. It require an
expensive getSpans() call to retrieve all the spans and then search
for the one we're interested in in case it has been changed.
The SpanWatcher is faster, it will broadcast the add/changed/removed
events we're interested in.
Now that we can rely on SpanWatcher, use it to directly track
addition and removals of EasyEditSpans.
No unit test for this feature which require an integration with
the voice IME. Easy to test manually though.
Change-Id: Idabcacc48c479bf9868d5204c0b0ca709207ede2
This flag was still hanging around pending any need to disable
DisplayList properties. But things seem stable, so it's time to clean up
and simplify the code.
At the same time, I reduced redundance in DisplayList dimensions. We
used to call drawDisplayList() with width/height parameters that were
used to do a clip reject. This is redundant with the DisplayList properties
that set the bounds of the DisplayList; the left/right and top/bottom properties
represent the same width/height properties formerly used in drawDisplayList().
The new approach is to not pass dimensions to drawDisplayList(), but to
instead pull those dimensions directly from the DisplayList when needed.
Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
Revert of CL 161404
This flag will be used by the dialer. It prevents any IME from
showing as a result of a focus given to a TextView through a tap
or a D-Pad click.
Change-Id: Ifa5bfcbff124b300780f76dea443d26cf172f5e3
When a span with a visible influence on the text is modified, we only
need to invalidate the text sub display lists that overlap this span.
This is especially useful when typing and the composing span (an underline
span) gets updated after each key stroke.
Change-Id: Ib2af3219c41eb79ec5d0a2eee317aca8c4efdef9
1. A view that creates an accessibility node info may add to the info
a list of granularity labels. These are granularities by which the
source view can iterate over its content. For example a text view
may support character, word link while a web view may additionally
support buttons, tables, etc. There are actions on accessibility
node info to go to the next/previous at a given granularity which
is passesed as an argument.
2. Added Bundle argument to the APIs for performing accessibility
actions. This is generic and extensible.
bug:5932640
Change-Id: I328cbbb4cddfdee082ab2a8b7ff1bd7477d8d6f9