Only bothers with the background and active ripple, since the exiting
ripples are in hardware animation mode anyway and can't be updated.
Bug: 21079749
Change-Id: I0f70c0c0feea32e2c70bb9b1b0fa3b7846b20c7f
The docs are now really explicit about the layer's ID and how to set
or update the mask layer from code.
Bug: 20493831
Change-Id: I801f10cd08fd1b4bb226c63a1bdf3271229928ea
Adds explicit padding attributes to LayerDrawable, constrains the ripple
to fit within the container to avoid projection.
Bug: 19359934
Bug: 20083467
Change-Id: I46da941fba37552adeb2c1fe617b799f576df0c6
Ensures changing configurations mask is propagated to the host drawable
so that it can be properly cleared from cache on configuration changes.
Also fixes constant state handling of the mask in the Inset and Rotate
drawables.
Hides new ColorStateList methods related to theming, since they should
only be used during preloading or internally by framework drawables.
Fixes bug where the cached versions of themeable ColorStateLists were
modified by calling applyTheme() on the host drawable.
Also cleans up some docs and naming in GradientDrawable.
Bug: 19966397
Change-Id: I8c8d3cabbaf94b488c2b8fe9fd423e07d824c19c
Moves animation lifecycle and software/hardware hand-off into a unified
RippleComponent class, which makes it easier to maintain the components.
Adds better javadocs and comments to explain what's going on.
Bug: 19431322
Change-Id: Ifb9b9a7dcc24238719ef12293493ca3df107679f
Fixes several issues with constant state and propagation of drawable
property changes to wrapped drawables. Also un-hides the layout
direction accessors and hotspot getter.
Change-Id: Iff19db6a95059cbcfcbde7af0ac33871ccd41615
Sets up the action bar item and control styles to use a 20dp radius
ripple to match latest Material spec.
Bug: 19370157
Change-Id: I87cba01076ee83937a6bfd36fc7dc188e1eb4672
There was a weird disconnect between setPressed() and hotspot propagation
behavior. This makes hotspot propagation work like setPressed(). Also
fixes ripple animation during drag-to-open.
BUG: 18631557
BUG: 18593243
Change-Id: Id4adf5d815e4d426b4182aac4d0c780f04472ae4
Also fixes opacity returned from InsetDrawable to accurately reflect
the transparent inset area and updates button to correctly use tint.
BUG: 18226391
Change-Id: Ia9a88d9d663990a6829d2f251c7f59ea2a79d816
Previously we were failing to update references to drawables that had
been pulled from constant state, so we were drawing the wrong ones.
Also fixes button Z translation on press, which was WAY too high.
BUG: 18542282
Change-Id: Ifde7d64e31d31737854cfcbe75777e5b07a06e3a
Removes an extra saveLayer call by rendering ripples as overlapping. We
are now down to zero saveLayers when drawing unmasked ripples or ripples
masked against opaque content/masks, one saveLayer for ripples masked
against content and two saveLayers when masked against an explicit mask
layer.
BUG: 18226391
Change-Id: I0fc09d21fbc462fbcfe4c26fc7b18737f584043e
Removes all implementations of three-arg ConstantState constructor, since
we handle mutation and applyTheme() in Resources now. Moves progress bar
tinting to android:tint attribute. Correctly implements applyTheme() and
canApplyTheme() in all drawable wrapper and container classes.
Change-Id: Ic9cb43d0d6228aa4914f3124bed234b837beaa41
Projecting ripples places them under shadows, which is not
ideal. Punting this workaround and waiting until we have
proper support for rounded corner clipping on windows.
This reverts commit f90b6bd54f.
Change-Id: I61946649bbb1bf74a969d74e5353608afc8e4463
We already handle bounding rect in draw(), so this just ensures
that ripples are always clipped to window background outlines
until we can implement more general clipping.
BUG: 17498583
Change-Id: Iaff51fb177b017a11822bdf4f31c117fc9522c15
We only need to force a transparent draw after canceling a render
thread accelerated animation, and then we can draw again without
the transparency to avoid overdraw in the display list.
BUG: 17451761
Change-Id: I640f9a29d0940a93802f14a15f27d2c2072755ce
Eliminates an extra saveLayer on the background in the common case of
a rectangle-bounded ripple.
Ripples and backgrounds are now drawn at 50% opacity of the ripple
color, which ensures that both the ripple and background are visible
and that the pressed state has a correct combined alpha.
Also fixes a bug where hardware (RT) animation was getting turned off
prematurely.
BUG: 17405007
BUG: 17398089
BUG: 17394445
BUG: 17389859
Change-Id: Idb5808368fe563581a51a8cb9778275ee8d22f4c
Also removes unused x/y position and tween values on RippleBackground. The
background is now always centered within the hotspot area.
BUG: 17300399
Change-Id: I1904c9f44e6bebb2b434d2b092205edd42204263
There is only a single background, and it did not correctly handle
enter() being called while exit() was busy animating. We now cancel
all animations when starting an enter or exit. Also separates the
active ripple from the list of animating (exiting) ripples.
BUG: 17042060
BUG: 17281011
Change-Id: I4d4e33560867c7c71c1bdb72b17d52d6fbd86f68
Invalidate was called while we were busy clearing the list of
animating ripples, which led to an inconsistency between the
ripple count and actual state of the ripple list.
BUG: 17136636
BUG: 17281011
Change-Id: Ifb7be7eb334ad9a44cc3a1e6f55ad1e35218989a
bug:16140822
bug:16566746
This allows background drawables to alter the opacity of a shadow
being cast with their own alpha values.
Change-Id: I49698cc7c1bf4b2b55ffe2f82899543ca62bc61c
Regresses the "jump" when focus changes, since the background position
is static and we don't have any reasonable UX spec for this yet.
BUG: 16323640
Change-Id: I7152546ed08375864174049b342653b3c4d3d9fb
b/15283203
b/16142564
Remove boolean return value chaining, as it's redundant with
the data in the Outline itself.
Change-Id: I3116e57cd1b35c98b74e95195117edd7e39fb2df