An Editable text will use a BoringLayout when the text is empty.
Fallback on the regular layout draw text method when the layout
does not support the block optimisation.
Change-Id: Ie4bdb4381f2f58b71d7c35b2f5734e544e3115ea
Bug 6241159.
onCreateInputConnection should not create an Editor but instead
should return an input connection iff the text is editable.
Change-Id: Ie9ea55b2467f5a40e6243b36f9b44fa6dfab586f
Several issues came up after DisplayList properties were enabled,
so they were disabled pending fixes. Those issues have been fixed, so
DisplayList properties are once again being enabled by default. This
CL both re-enables these properties (in View.java and DisplayListRenderer.h)
and fixes the various issues that enabling them caused the first time around.
Related issues (all currently marked as Fixed, though that was simply because
DL properties were disabled - this CL provides the real fixes now that
DL properties are enabled by default):
Issue #6198276 Text input broken
Issue #6198472 Native crash at pc 00076428 in many different apps in JRM80
Issue #6204173 Date/time picker isn't rendering all parts of UI
Issue #6203941 All Apps overscroll effect is rendered weirdly/has flickering
Issue #6200058 CAB rendering issue - not drawing items?
Issue #6198578 Front camera shows black screen after taking picture.
Issue #6232010 Layers not recreated when children change (DisplayList properties)
Change-Id: I8b5f9ec342208ecb20d3e6a60d26cf7c6112ec8b
Add properties to Java API so as to better mirror the framework's XML API.
I'm not familiar with many of these areas so this CL is worth some scrutiny.
Change-Id: Iff63c43521305efaad5a2189c1b5556d2353cbd4
Bug 6198276, bug 6193544, bug 6199959
The activation of display list properties on Monday 19th
broke the editable text behovior.
Disabling display lists to fix the blocking rendering
issues.
Change-Id: I5bd0584d1a34c6bb0af79ef45499154e9004eac1
1. The number picker no longer shows up and down arrows, it
has only three touch targets which are the currently selected number
in the middle with a lesser one above and greater below, now what
you touch is what you get, flingability and long press are still
supported.
2. Removed the restriction for a View with an AccessibilityNodeProvider
to not have any concrete children. If the View has a provider, then
this provider is responsible for creating the AccessibilityNodeInfos
for all its descendants, concrete and virtual. The number picker is
a good example for such a case - it has a concrete input view and
two virtual buttons as its children. This is a safe change since
this behavior has not been released.
3. This patch also fixes bug where the number picker is stretched too
much in the Theme theme.
bug:6177794
bug:5728294
Change-Id: I5fb370fe0b864a156f5f2aaf2de5f55f6b6d4e84
Bug 5763685
Long text in a ScrollView (not when the View's internal
scroll is used) is cached as a unique display list when hardware
rendering is on.
As a result, each time the text is edited, the entire display
list has to be updated, which takes a significant amount of
time (up to 500ms for a few thousand lines), proportional to the
size of the text.
This CL splits the text into multiple display lists as the
text is edited. The boundaries of the display list are aligned
with paragraphs.
There is still an issue when the number of lines changes: onLayout()
is called which invalidates all the display list. When the source
of that change is line wrapping and not a change in the view's
dimensions, we should be able to simply shift down the previous DL
instead of re-creating everything.
Change-Id: I7de49a1e5637cdfc9ef06b64b1ec4b61d9ea2415
Also fix logic for consistency checking. Prior to this CL
GridLayout was causing Launcher to issue warnings to the logs
incorrectly.
Change-Id: I9d4017388e7c80c8bc5fa6cab97970835ff261fe
AbsListView was doing too many invalidates during scrolls/flings.
Some of them were also covering too large an area of the screen.
Change-Id: I68fe5dda3657bddd673996e7cf4f3c3672c66cfc
Basic functionality of handling View properties (transforms,
left/right/top/bottom, and alpha) at the native DisplayList level.
This logic is disabled for now (via compile-time flags in View.java and
DisplayListRenderer.h) as we continue work on it (there is no advantage
to the new approach until we optimize invalidation and rendering paths
to use the new code path).
Change-Id: I370c8d21fbd291be415f55515ab8dced6f6d51a3
1. The framework was appending some text to convey the state of a
a CheckedTextView or a RadioButton or a ToggleButton or a Switch
but the checked property already conveys that information. It is
responsibility of the screen reader developer to append the state
text based on the checked property. This change is requested by a
few screen reader developers.
bug:5951683
Change-Id: Ieba6797770201155c48e37147ae375dfcb5238aa
Bug 6104467
Add properties that can be set/retrieved programmatically to match the
XML attributes available.
Also add resource ID versions of Drawable setters for Switch.
Change-Id: I198cfd9701189ab200c3190f61d18c459b7e4591
Bug 6104562
Add properties that can be set/retrieved programmatically to match the
XML attributes available.
Change-Id: Ief28e5cad9ec3e6c2d12dd11ff9fa24f22eecec3
Bug #6120957
Using this new callback, views can interrupt and resume their
animations or other periodic tasks based on the current state
of the display.
Change-Id: I398f4abd421e9c5f207107bf1009a7b92cf45daa
Bug 6132826 - make sure that our speculative measurement of list items
uses an accurate width MeasureSpec. This bug would sometimes affect
window sizing when measuring height if content could wrap in the
presence of restricted width.
Change-Id: Ie28573e952cac3dfa2b95e4691758c72f26b8fd9