Commit Graph

14 Commits

Author SHA1 Message Date
Alan Viverette
7e3ede2889 Support for changing density of DrawableWrapper subclasses
Includes a refactoring of DrawableWrapper classes so that the wrapper
super class handles both drawable management and inflation. This allows
us to immediately call through to super() in inflate and applyTheme,
which simplifies density management.

Bug: 25081461
Change-Id: I8c157d340fd1f28a3a2b786c56850a67cdd452e4
2015-10-28 16:57:57 -04:00
Alan Viverette
0b6cfe22fd Revert "Use floating-point value for Drawable level"
This reverts commit 3da32b7688.

Change-Id: Ie75ce0c285e0f59a7a086f64c0cfe088edb5df04
2015-09-14 16:59:49 +00:00
Alan Viverette
3da32b7688 Use floating-point value for Drawable level
This allows us to run fine-grained level animations.

Backwards compatibility:
Another CL will add DrawableCompat.setLevel(float) to forward calls to
the existing integer-based method. For callbacks, developers can override
onLevelChanged(int) and use DrawableCompat.getLevelFloat() to obtain the
floating-point level. Overriding onLevelChanged(float) will only work on
current API.

Bug: 23566299
Change-Id: I431fe6f3679c8f23f9cf3c2bb1f92a4059ee68e3
2015-09-02 13:33:58 -04:00
Alan Viverette
b63b93dee7 Fix drawable CTS breakages
1. ClipDrawable.getOpacity() now correctly respects the current level
2. DrawableWrapper checks the contained drawable's changing config even
   if it doesn't have a constant state
3. DrawableWrapper gives priority to the last valid child drawable
   rather than the drawable attribute

Bug: 21406104
Change-Id: I442fe90d0a3865bfdc6b2d14a7358178310dde02
2015-05-28 13:50:44 -07:00
Alan Viverette
dfa4646eca API Review: Drawable
Renames boolean getters to isZzz(), callback from onChange to onChanged.

Bug: 21342040
Change-Id: I9700d645453354b608fd97a832359211d828b52f
2015-05-27 13:26:41 -07:00
Alan Viverette
e922f49b62 Allow getChangingConfigurations() on DrawableWrapper with null drawable
Change-Id: Iecf39b53419e07927a3fe3096036a57afd69439a
2015-05-15 14:53:03 -07:00
Alan Viverette
e0f95f39c5 Fix issues with theming of preloaded ColorStateLists
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
2015-04-01 13:10:18 -07:00
Alan Viverette
1b23240f96 Only propagate state changes if wrapped drawable is stateful
Always update layer bounds if the contained drawable changed in any
way. Also adds null annotations in LayerDrawable and throws a more
useful exception when the layers argument is null.

Change-Id: Iae0cba68257e48b6a45fe081c3d4b0509d2dedd5
2015-03-20 11:08:46 -07:00
Chris Craik
bd3bfc5285 Improve docs for drawable tint and color filters
bug:19564477
Change-Id: I7e11baae2d4dd245965904c85b8855de71f6b6ac
2015-03-02 16:21:02 -08:00
Alan Viverette
a129622071 Unify wrapper-type drawables
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
2015-02-20 15:00:25 -08:00
Alan Viverette
c80ad99a33 TouchFeedbackDrawable is now RippleDrawable
Change-Id: I59f5f04b73089215c6320560556ac21beb03db06
2014-05-19 16:27:31 -07:00
Alan Viverette
860126b78a Make Drawable hotspot APIs public
Change-Id: I8377ed735f73f7083636947aa08a5427f1dc3bf6
2014-04-08 16:37:19 -07:00
Alan Viverette
840dede901 Unhide touch feedback drawable and wrapper
Change-Id: I98926d4adfb6e8c6130b31c8f4534a1a382d0f3b
2014-03-24 19:54:34 -07:00
Alan Viverette
ba346f9d8d Unify touch feedback drawable and reveal drawable
BUG: 13030730
Change-Id: I65a50a00bd76b80bb242b1573b89e443e2e143fe
2014-03-10 19:09:28 -07:00