Commit Graph

45 Commits

Author SHA1 Message Date
Mathew Inwood
9ebe36c305 Add @UnsupportedAppUsage annotations
For packages:
  android.graphics
  android.graphics.drawable
  android.graphics.drawable.shapes
  android.graphics.fonts
  android.graphics.pdf

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Merged-In: I7fc1162d2c63df8751a4660607e8ce72070efed8
Change-Id: I5d7739d2d1fc7bb12ee059bcc2a9ac9017ca35fb
2018-07-31 14:36:52 +01:00
Neil Fuller
71fbb81b14 Fix @code escapes
The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.

Bug: 25757239
Change-Id: Ib38a0fa2dd2a3d68e467f78a812071e763d7e881
2015-12-02 14:24:11 +00:00
Alan Viverette
f1f5f6fcaa Reset constant width/height when DrawableContainer density changes
Bug: 25081461
Change-Id: I9661e964e1d0bacd337e31073faf870d37939b51
2015-10-21 17:14:27 -04:00
Doris Liu
084938f2a1 Check whether AnimationDrawable is one shot only when visibility changes
When AnimationDrawable becomes VISIBLE again, the current behavior is to
start the Drawable from the first frame if it's not running. For one shot
AnimationDrawable, it should start once and stay on the last frame.

Bug: 23725157
Change-Id: I5f3095aa00b07fefe7f992851d4190f268c266b2
2015-09-02 23:25:37 +00:00
Doris Liu
c7741d467b Start AnimationDrawable from the zeroth frame.
This CL fixes the issue where when start is called, we run the next frame
of the animation drawable while mCurFrame is already set to 0. The result
is that the first frame of the AnimationDrawable is then skipped.

Bug: 21168854
Change-Id: I2b77ae017d3debd0f8cfec81ea86d1120e78bb55
2015-05-14 17:23:43 -07:00
Doris Liu
56ef127df7 Avoid setting mCurFrame to -1
Use the dedicated flag mRunning to check whether the DrawableAnimation
is running, rather than comparing mCurFrame with -1. This CL aims to
simplify the use of mCurFrame.

Bug: 17112962
Change-Id: I15f9e4c102f504b8c806f029949fe9ec872479a5
2015-05-12 10:07:25 -07:00
Alan Viverette
70e68e0ff1 Set AnimationDrawable running to false unless animation is scheduled
Also cleans up java docs and clarifies functionality of nextFrame().

Bug: 19500067
Change-Id: I8c274c6f4df7ee17d28ae151009f07a420c9ab1a
2015-02-26 10:50:55 -08:00
Alan Viverette
0b9ab9749a Fix default value of AnimationDrawable's one shot property
BUG: 18676499
Change-Id: Iaaf134b3a58a04cd99db001edc4438ee75dab878
2014-12-09 09:48:18 -08:00
Alan Viverette
5ed8f27858 Update drawable container constant state following clone
DrawableContainer's internal state was getting out of sync with the
internal state of child classes because we failed to call set state.

BUG: 18542282
Change-Id: Iacaa12042e99c1b9e9eaf08f0ab879d82260e7ee
2014-11-26 17:16:08 -08:00
Alan Viverette
8dcd533786 Ensure calling mutate() on DrawableContainer creates a new state
Previously, a new state would only be created on newDrawable(), which
caused the first drawable loaded for a resource to share constant state
with the cached version. Even if mutate() was called, the constant
state was still shared and any changes were applied to the cached copy.

BUG: 18504919
Change-Id: I40d257867eb0a092ce580b9c4338ddc7406a031d
2014-11-25 10:40:24 -08:00
John Reck
cf84ab5e7f Revert "Ensure calling mutate() on DrawableContainer creates a new state"
This reverts commit d7dab349c2.

Change-Id: Icc1c4bfa296a59a551088fe7cc2449a97bb2b7b7
Reason: Broke the build
2014-11-25 15:50:59 +00:00
Alan Viverette
d7dab349c2 Ensure calling mutate() on DrawableContainer creates a new state
Previously, a new state would only be created on newDrawable(), which
caused the first drawable loaded for a resource to share constant state
with the cached version. Even if mutate() was called, the constant
state was still shared and any changes were applied to the cached copy.

BUG: 18504919
Change-Id: I1ce76fbbc144e9c0c93261e3a12cc613d0c74b83
2014-11-24 11:11:05 -08:00
Alan Viverette
2d91f63ec2 Don't propagate AnimatedStateListDrawable state change to super()
Also updates child element inflation code in AnimationDrawable so
that color resources can be used in the <item> drawable attribute.

BUG: 18322272
Change-Id: I8d13643c5cbdb76d69634a7bac3cead9e9fba4e8
2014-11-11 19:12:32 -08:00
Alan Viverette
d21fd9d1cc Add theme and config change support to more Drawable types
BUG: 16045735
Change-Id: Ic03173a1c1779c1bb545c4c389f77afed97011ee
2014-10-29 10:24:42 -07:00
Alan Viverette
727cae197b Mutate and apply theme if needed before caching themed drawables
This ensures that drawables are completely separated from their cached
constant states before applying a theme. After this, we can remove the
implicit (and incomplete) mutation in the clone constructors.

Also implements missing mutate() method on ClipDrawable.

BUG: 17646144
Change-Id: If0d66b0a85724d76e0a4f506758c7ba3c0aa3410
2014-10-07 15:08:47 -07:00
Alan Viverette
39e33621a7 Fix theme propagation to contained android:drawable elements
BUG: 17790666
Change-Id: I6733a98e779cad0d384b917c57d2b3409a166c02
2014-10-02 15:54:23 -07:00
Chet Haase
030435773d Fix crash in AnimationDrawable
When a drawable becomes invisible, it unschedule itself, which
sets mCurrentFrame to -1. Later, when it becomes visible, it
calls setFrame() with either 0 (if 'restart' is true) or
mCurrentFrame. Calling setFrame() with a value of -1 causes a crash
later as we dereference an invalid location in the state durations
array.

This fix also checks mCurrentFrame and calls setFrame with 0 when the
current frame is invalid. This takes the code back closer to what it
used to be when setFrame was always called with 0, although now it will
use a valid frame when it is set.

Issue #16489419 Google Translate crashes whenever hitting done button on keyboard to get translation result.

Change-Id: I1f5b8672d209017aa8a4eaa15bd7ddd2f3ae38d1
2014-08-18 10:33:58 -07:00
Alan Viverette
03d30a573b Make sure we're obtaining themed drawables correctly
Change-Id: I446a3492f7bf5a897c5d698e61327af4b7840d85
2014-08-14 19:59:50 +00:00
Alan Viverette
100a2d1fc6 Clean up AnimationDrawable.setVisible() state management
BUG: 15823683
Change-Id: Ied0d476956c246bdfda66219aaa896f2ef58f0bd
2014-06-27 13:15:14 -07:00
Alan Viverette
b3c56086d8 Add support for setTint in all Drawables, clean up lint warnings
Change-Id: I962089ca59684cef28cb4a648d4a91e542bdf5d4
2014-06-16 11:00:24 -07:00
Jeff Brown
cda212d79d Revert "Add support for setTint in all Drawables, clean up lint warnings"
This reverts commit 381f83b613f7b6e71180983dbb992ff62f8dd6e3.

Change-Id: I1181f436c647216ac46162260d9d886197b24568
2014-06-14 02:16:41 +00:00
Alan Viverette
4b17118aca Add support for setTint in all Drawables, clean up lint warnings
Change-Id: Ia38b9d3e9d5c0072382050e815bdd9232b672e50
2014-06-13 16:18:11 -07:00
Alan Viverette
97fb0aa509 Only start AnimationDrawable on visibility change when animating
BUG: 15532494
Change-Id: I5663fc86e64c34db84385238865e08297fb1f817
2014-06-13 13:43:35 -07:00
Alan Viverette
3b983a74c6 Fix default stroke width and NPE for line with no stroke width
Also fixes restart on visiblity change in AnimationDrawable

BUG: 15437284
Change-Id: I698e7ffb11489061a38fbcd5cea10ba11a6abb34
2014-06-05 13:43:25 -07:00
Alan Viverette
6dbe51b50e Clean up drawable theming APIs
Removes APIs for themed creation of a drawable from a stream, since
that doesn't involve any inflation. Also cleans up tinting methods
left over from previous clean up.

BUG: 15089957
Change-Id: I2af7aa9a6d351ae61b33ee1216c674fae1bffe11
Signed-off-by: Alan Viverette <alanv@google.com>
2014-06-02 16:39:04 -07:00
Alan Viverette
5e92c95d84 Animated state transition drawable
Change-Id: I6c795d55cd7ab9163fdd6fe6ce3771bbd7015d62
2014-05-09 13:03:12 -07:00
Alan Viverette
52b999f072 Implement APIs for obtaining, caching themed Drawables
When Drawables are inflated during preload (or otherwise without a theme)
they cache their themeable attributes in their constant state as an array
keyed on attribute index. Drawables inflated with a theme will simply
resolve theme attributes as part of normal inflation, and they will not
cache any themeable attributes.

Drawables obtained from Resources are pulled from theme-specific cache
when possible. If an unthemed Drawable exists in the preload cache, a
new constant state will be obtained for the Drawable and the theme will
be applied by resolving the cached themeable attributes and overwriting
their respective constant state properties. If no cached version exists,
a new Drawable is inflated against the desired theme.

Constant states from themed drawables may be cached if the applied theme
is "pure" and was loaded from a style resource without any subsequent
modifications.

This CL does not handle applying themes to several Drawable types, but it
fully supports BitmapDrawable, GradientDrawable, NinePatchDrawable,
ColorDrawable, and TouchFeedbackDrawable.

BUG: 12611005
Change-Id: I4e794fbb62f7a371715f4ebdf946ee5f9a5ad1c9
2014-03-24 18:00:26 -07:00
John Spurlock
180979f76b Fix logic problems in AnimationDrawable and View.
1. View now checks both queues when unscheduling runnables,
fixing the case where work was scheduled pre-attach, and unscheduled
post-attach.

2. AnimationDrawable avoids posting duplicate runnables when rescheduling
itself.

3. Decouple is-animation-running state from current frame pointer in
AnimationDrawable.  Some calls init to the first frame, but do not
kick off the animation.

4. Remove workaround in SystemUI's AnimatedImageView (status bar icon)
now that the underlying framework issues are fixed.

Bug:11694594
Change-Id: I77ca6bd80262f7edcf980b2d7efc2592f8051f29
2013-11-18 15:59:37 -05:00
Alan Viverette
7214643332 Deprecate DrawableStateList.getChildren() and add getChild().
Moves from exposing the internal structure of a drawable state list
to only exposing the data. Adds getCapacity() and mutate() as
package-private APIs to support various drawable subclasses.

Change-Id: Id08743f979287e1a305f069ccc3c0085a7da6f7b
2013-06-05 17:12:19 -07:00
Robert Ly
dea05e9010 am ca7d7541: am d70eaff4: am 941ff38d: Merge "fix bug 5942522" into ics-mr1
* commit 'ca7d7541c4cad188eb643113e3c3e91e63d21a5e':
  fix bug 5942522
2012-03-01 16:47:04 -08:00
Robert Ly
9366ce81db fix bug 5942522
Change-Id: Ice16e63b42d5e8c89994d0844f62adaefc8a92a1
2012-02-22 16:28:13 -08:00
Joe Fernandez
2b07267753 am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1
* commit '201469f54522436be79d4d6665721049bfc74320':
  docs: Add developer guide cross-references, Project ACRE, round 4
2011-12-22 15:59:34 -08:00
Joe Fernandez
3aef8e1d1b docs: Add developer guide cross-references, Project ACRE, round 4
Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
2011-12-22 15:08:23 -08:00
Chet Haase
f7917e656b Fix AnimationDrawable double-start bug
AnimationDrawable.setVisible(true, true) was not correctly recording
the fact that it had started the animation, so it was possible to call
start(0 immediately afterwards and have two animations running on the
drawable in parallel, resulting in incorrect frame ordering.

Issue #5782773

Change-Id: Ifc328f755a51d10ab76b84006d1999df03d2dca1
2011-12-19 15:49:42 -08:00
Scott Main
34235c6ede cherrypick Change-Id: Iaada8d42f97786d393743cd7fc3011da1d21f22e
docs: resolve issue 5044273 and fix markup error

Change-Id: Ic028292245c14cca218ea9ac771f292254577e7c
2011-07-27 12:27:39 -07:00
Chet Haase
f5534a0785 Fixes for AnimationDrawable
Set up AnimationDrawable with an initial frame when it is
constructed from code (via addFrame()). This is equivalent to
what is done when it is constructed via xml resources.

Change-Id: I86784a241268aa2d03af8edecbc80a7cc3548e19
2011-05-31 07:22:51 -07:00
Scott Main
dfe5c20440 docs: lots of additions to the resources docs
new drawable resources
add <merge> and <include> to layout resource
update drawable class descriptioons to point to resources guide
add ID resource type

Change-Id: I733eec50bb2671f28c9e6dd7dec14eb6586f5193
2010-06-21 15:19:23 -07:00
Dianne Hackborn
c297480937 Fix issue #2116977: buttons are huge and bent
Now that we are using preloaded drawables in compatibilty mode, when
constructing them from their constant state we need to set the new
drawable's target density appropriately.

Change-Id: I3665cbea09d38b9ac5f45f8c380dc8641f86b266
2009-09-14 16:32:56 -07:00
Romain Guy
b5537c4522 Replace indeterminate progress animated asset with new ones 2009-06-30 12:39:18 -07:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
d24b8183b9 auto import from //branches/cupcake/...@130745 2009-02-10 15:44:00 -08:00
The Android Open Source Project
b798689749 auto import from //branches/cupcake/...@125939 2009-01-09 17:51:23 -08:00
The Android Open Source Project
f013e1afd1 Code drop from //branches/cupcake/...@124589 2008-12-17 18:05:43 -08:00
The Android Open Source Project
54b6cfa9a9 Initial Contribution 2008-10-21 07:00:00 -07:00