Introduce new AssistData class that contains all data
the framework automatically generates for assist. Currently
populated with a very simple tree structure representing
the app's view hierarchy.
Reworked how we populate the class name for accessibility
info, so this is provided through a new method call on View
that subclasses can override. This method is also used
to populate the class name in AssistData.
Change-Id: Ibd0acdc8354727d4291473283b5e4b70894905dc
There is a bug in <scale>, but this works around it for now. Removes
the previous fix, which broke the initial state due to the level not
propagating when the current drawable was swapped out.
Bug: 19269656
Change-Id: Ibe586ef4ea326a7ce7516ca42a369c5386c24359
Previously, AbsListView assumed its drawable state would only be used
for the selector, so it only reflected the state of the selected child.
This didn't work so well for views that inherited from AbsListView or
for managing the scroll bar drawable state.
Change-Id: I73889645488b9a0fecbf4186b2d83d2511eccf35
Calls the dismiss listener immediately, which fixes compatibility with
ListPopupWindow's global layout listener. Adjusts anchor bounds to
better match up with the laid out window position. Caches the content
view to avoid issues with setContentView(null) being called immediately
after dismiss().
Change-Id: I897caeba26ffb2e689f8face199d2ab70718a86c
Previously it was okay to call dismiss/show in quick succession since
the window was removed synchronously. Adding transitions introduced a
delay between dismiss() and actually removing the window, which broke
this behavior.
Change-Id: I0de8ae0a551dcb2eb8b8a50356c308b654ebdc6f
Previously we only used direct visibility, which resulted in strange
behavior when a parent view with an animated child was hidden. We were
also incorrectly awakening scroll bars for non-visible views, though
that's a much less visible (pun intended) bug.
Only handles the two most common cases for ripples. A subsequent CL will
update handling of View drawable management and fix this for all managed
drawables.
Bug: 15350931
Change-Id: I0d0fe2c51210e8d2e0a73b0248cec3b93bfc36f5
Previously any fontFamily value on a TextView would override a typeface
value, even if the fontFamily is from a TextAppearance (for example,
from the theme) and the typeface is explicitly set. This patch changes
the resolution order to fontFamily set directly on the TextView,
typeface set directly on the TextView, fontFamily from TextAppearance,
typeface from TextAppearance.
Bug: 16154223
Change-Id: I45c1e511fba8f64eb236200e3fa2e885c02b59dc
Allows framework-added windows to manually specify surface insets, which
enables us to wrap the popup window's elevated content view with a root
view, which in turn allows us to use the Transition API for popup window
transitions.
Fixes a bug where the root view's render node forced clipping.
Bug: 13211166
Change-Id: I303dfa55a052cdf5d3b1485422529123e3cc867a
Also prevents the selector from jumping between the inner and outer
circle during touch exploration in 24-hour mode.
Bug: 19101918
Change-Id: If342056b378927397f8651dad5e8d806bcda03a6
Avoids unnecessary changes to pressed state. Ensures hotspot propagates
to both the list view and the list item view since both receive the
pressed state.
Bug: 19134424
Change-Id: If2496ce2042e43fe1c1efd527eeca10dc53e1f4a
To click a view we were computing a click location by ignoring overlapping
views that are actionable. However, detection whether a view is actionable
is not always possible as the view may handle touch events directly. This
leads to unhandled edge cases. We are taking a conservative approach and
ignore all overlapping siblings regardless if clickable. This is also has
limitations but hopefully less frequent edge cases.
bug:18889611
Change-Id: Icea0b7b3e2d4ed53e50e01cb6a99b880be560b14
automerge: 9027d73
* commit '9027d7355e8e804307902fb5ec88cf54e23cdcb4':
Accessibilty: Cannot click on views in a scrollable container covered by the toolbar.
automerge: 6e9f276
* commit '6e9f276ff1554b59692a1820f60217307460308b':
Accessibilty: Cannot click on views in a scrollable container covered by the toolbar.
In accessibility mode we calculate a point where to click in the accessibility
focused view as a bridge-gap solution before switching to accessibility click
actions. We cannot detect whether a view is covered by another one that consumes
all touch events, and therefore we may click on the wrong target. This was the
case with the toolbar. As a result a partially scrolled view in a scrollable
container covered by a toolbar cannot be activated and this is not an edge case.
bug:18986806
Change-Id: Ib41470c39806cec13e9b00b319879cd7f3412ab5
Removes the popup context setter, since this property cannot change
after inflation without losing data from the AttributeSet.
Bug: 19046761
Change-Id: I622f50d1752446a5b5793706c388e67a46ad06da