History log of /frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dad7d84c04c5954b63ea8bb58c52b2291f44b4df 09-Dec-2014 John Reck <jreck@google.com> Teach AssetAtlas about more drawables

Bug: 18317479

Change-Id: I16868ee204d24af72af9a2efc987f7e9eb1d266b
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
17cd4dfe3a05c2eddbcbc76066ff3b13fc3f2c8b 14-Oct-2014 Alan Viverette <alanv@google.com> Update preload list, clean up drawable theming

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
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
727cae197b123ef764a1f8fbe08a995b000d14c3 08-Oct-2014 Alan Viverette <alanv@google.com> 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
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
607bd848269fb802550e63aa61945790616f97a7 12-Sep-2014 Alan Viverette <alanv@google.com> Update icons to vectors, fix preload theming & vector tinting

Adds a missing JNI binding to AssetManager, ensures drawables have
default tint modes as documented, and updates vector tint appropriately
when state changes.

BUG: 17385604
Change-Id: Ice92885989ebc13b95952f5dc3b7904cc956da12
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
fe7a18eeada1bf2553ca00afb71b372bd79666dd 20-Aug-2014 Chris Craik <ccraik@google.com> Make getOutline account for gravity BitmapDrawable

bug:17112454

Also cleans up several subtle bugs in updating gravity/tile mode/insets.

Change-Id: Idbd2c52e5f572d11b651f5e93d000535880f5708
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
9745de0f0559bccd7b4a2f80b5ff8c8f118c7bfc 18-Aug-2014 Chris Craik <ccraik@google.com> Fix BitmapDrawable outline crash

bug:17103753

Change-Id: Ia3d2c7d61b3f3b9ea8879f941d726d8627e155bb
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
e222e359a0aab985488a711f6edb76820fe8c6df 14-Aug-2014 Chris Craik <ccraik@google.com> Disable shadow casting for transparent BitmapDrawables

bug:17013977
Change-Id: I26328c21360432bb34d3f19858dfdc0e6aede057
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
a426445dfdab43886dd894f2ba8a1d55bfcbb278 29-Jul-2014 Alan Viverette <alanv@google.com> Separate tint and tintMode properties

BUG: 16054922
Change-Id: I820fb857b671faf9eb27612e470e820c5c4cd6b5
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
4f64c048505a432e549ccb756634ecebf28f9e80 22-Jul-2014 Alan Viverette <alanv@google.com> Clean up view tinting APIs, tileModeX/Y attribute docs

BUG: 16400590
BUG: 16403307
Change-Id: Ie924815a39eb0e683d1982b08ec478ed3edbfb7b
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
ab87983a11e0bd2e08d752d86d5e945ea7d39a04 09-Jul-2014 Leon Scroggins III <scroggo@google.com> Simplify Shader.setLocalMatrix.

Previously, calling setLocalMatrix updated any Paint that had the
Shader attached. This depended on deprecated behavior in Skia. Use
new Skia APIs, and do not modify any Paints that use the Shader.

In addition, update callers to call setShader (again) after modifying
the Shader.

Sample app at ag/499573 for testing.

Depends on I673801444f0a8fd4f192b5b7effdde1aa83e702b in external/skia.

BUG:14315916
Change-Id: I3c3316377874e89fccc85afb864bc038b0ef3890
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
8e5e11b99fac942122ee2d6cdd30af51564861ae 07-Jul-2014 Alan Viverette <alanv@google.com> Handle configuration changes in drawable attributes

Adds themeable attribute support to InsetDrawable, adds support
for attribute configuration changes to all themable drawables.

BUG: 16045735
Change-Id: I3dc62d28801760ac69d303be81b6c78bb9bb5aca
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
22594f097242d9de0a538a9b8142f77da9df7ebd 21-Jun-2014 Alan Viverette <alanv@google.com> Add tileModeX/Y attrs to BitmapDrawable, tint to ShapeDrawable

Change-Id: I1c9efe39bfd5286230cee8354822db81f05186e4
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
5adf8ee451085ed6106b7dbadc6d8dcd9d90722b 18-Jun-2014 Alan Viverette <alanv@google.com> Fix bitmap tinting

BUG: 15716407
Change-Id: I4008c9763fedc2f716040cd3f73ad79d77343960
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
b3c56086d802ae28888dd97ba1f49bd6cee0b673 14-Jun-2014 Alan Viverette <alanv@google.com> Add support for setTint in all Drawables, clean up lint warnings

Change-Id: I962089ca59684cef28cb4a648d4a91e542bdf5d4
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
cda212d79d449468384cc7744878b8c99984059c 14-Jun-2014 Jeff Brown <jeffbrown@google.com> Revert "Add support for setTint in all Drawables, clean up lint warnings"

This reverts commit 381f83b613f7b6e71180983dbb992ff62f8dd6e3.

Change-Id: I1181f436c647216ac46162260d9d886197b24568
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
4b17118aca1e67963254ab83504b0753a3eac7ce 14-Jun-2014 Alan Viverette <alanv@google.com> Add support for setTint in all Drawables, clean up lint warnings

Change-Id: Ia38b9d3e9d5c0072382050e815bdd9232b672e50
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
06318a0869b9f214bc97cabf1d2b6854acb6431b 06-Jun-2014 Alan Viverette <alanv@google.com> Update drawables to fix CTS test failures

Change-Id: I78617aedab450f5bc18807c03d07ee776584ece0
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
d30241541c3adcb126bb263ad8596e7902a6b5ae 23-May-2014 Alan Viverette <alanv@google.com> DO NOT MERGE Fix build.

Change-Id: I2e9f7f27c94b9f9240a5ca76952024055ff79878
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
2356c5e69b0911e6334ebf6374217898371be5ac 23-May-2014 Alan Viverette <alanv@google.com> Update switch, checkbox, radio button, button, and toggle button

Add optical inset support to BitmapDrawable with gravity. Fix optical
inset support in DrawableContainer. Fix visibility change support in
AnimatedStateListDrawable. Adds a whole bunch of missing drawable
support to CheckedTextView.

BUG: 15127013
BUG: 15126976
BUG: 15125529
BUG: 15025806
BUG: 14597955
BUG: 14594498
BUG: 15152746
Change-Id: Id2d99e10838d25b6f927ca1e49996c8da8e78ab1
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
e7772d313b88e9fd3366670a9c8d1b145edef344 22-May-2014 Alan Viverette <alanv@google.com> Move setTint into Drawable, unhide getDirtyBounds on Drawable

BUG: 15089957
Change-Id: Ib622ba24b3f4bcf430e1d524895ac5cb104a232e
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
0cfb877f5a0a1bff82d9c3ee969195bf7812c0b5 15-May-2014 Alan Viverette <alanv@google.com> Simplify attribute extraction for themed Drawables

Also fixes a bug in GlowPadView that randomly popped up.

Change-Id: Id20508a44ea02b4a14c8f794de36e13a2c06587c
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
307ad09228ebf70f1b456f5f00540c0126277850 18-Apr-2014 Alan Viverette <alanv@google.com> Add alpha to bitmap, nine patch drawable, fix container hot spots

Also fixes primary text disabled state alpha.

BUG: 13818888
Change-Id: I9ae2e25216014177c2dac24f5c9095df87724a43
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
2f8ba8f7fad2b608102a9282219aaea2223e94f5 09-Apr-2014 Alan Viverette <alanv@google.com> Update supported Drawable tinting modes and docs

Change-Id: I9c20d2bc4dc499f91c21a348871cf209c1065ba6
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
52b999f0721b53e9c6e18a4bd664e89aeb65b2d5 25-Mar-2014 Alan Viverette <alanv@google.com> 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
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
af7c240b99506d2c81a72be738eb270ecaa39699 27-Feb-2014 Alan Viverette <alanv@google.com> Restore getTintMode() method on BitmapDrawable

Change-Id: I8fffc90ce3f0811d75b517d2dfc71de731188da6
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
09ceac298cc12471e4575fe49f97766c1ed7b2a1 27-Feb-2014 Alan Viverette <alanv@google.com> Clean up tint API

Change-Id: I56056e7596840c563f5332922d63e8893a0cac17
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
813d85b82cb7cbaa5dbe05496d1038caa17a1698 27-Feb-2014 Alan Viverette <alanv@google.com> Fix progress bar tinting, add tint support to ShapeDrawable

Cleans up APIs a little, since I think we may want to add tinting
modes beyond what Porter-Duff can provide. Plus we don't actually
support some of the Porter-Duff modes in hardware.

Change-Id: I2cea1b737cc93607a24842c54eb9f0d8346b29d4
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
12b97f5d2b15194ed6673c9838b13c8312157709 24-Feb-2014 Alan Viverette <alanv@google.com> Change colorFilterColor to tint, allow use of ColorStateList

BUG: 13149901
Change-Id: I6487bec372cb74db53d7bbdfa35de071764763b0
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
16f1d81d47beb1e04504a76de66e2919dde08c33 31-Jan-2014 Alan Viverette <alanv@google.com> Revert "Cache display lists for Drawables"

This reverts commit c062c7003f34999632fe4ad721dcd47cd71b2159.

Change-Id: I96d4f0482b927101f52140b667f4c38ffc8687f5
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
c062c7003f34999632fe4ad721dcd47cd71b2159 15-Jan-2014 Alan Viverette <alanv@google.com> Cache display lists for Drawables

Change-Id: I86e2dd4cd4ac8871f4131450cb9082c2b8de2eed
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
d9e788c4f0528e46db4a035cfac043736becb0d1 07-Jan-2014 Alan Viverette <alanv@google.com> Add support for specifying Drawable color filter in XML

BUG: 12178044
Change-Id: Ie118aebf56bb4580c97b625e20f4e76bed4b6f6f
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
31049d76c55b18a6d9993f0d9687598740b16014 07-Oct-2013 Adam Powell <adamp@google.com> Use SCREEN Xfermode for keyguard badges; update SeekBar

Plumb through the necessary API features through Drawables and
ImageView but leave it hidden for now pending future API review and
plumbing through the rest of the framework Drawable implementations.

Update SeekBar assets used for keyguard transport control.

Set selected status directly instead of finding views by id.

Bug 10531608
Bug 10784913

Change-Id: Ia38bd04ad1bc26e9e6da1dda8a374c9ba3ceccb3
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
3f5a90b2fbba2a83a8a2c5babd5d466a5e0ad2aa 25-Jun-2013 Fabrice Di Meglio <fdimeglio@google.com> Add automatic Drawable mirroring capability when in RTL layout direction

- default value is "no mirroring"
- introduce android:autoMirrored as a new attribute for Drawable,
BitmapDrawable, LayerDrawable, StateListDrawable and NinePatchDrawable
- setting android:autoMirrored="true" means that the drawable will
be mirrored when the layout direction is RTL (right-to-left)
- also fix an issue with ImageView drawable layout direction not
updated correctly when RTL properties were changed

See bug #7034321 Need Drawable RTL support

Change-Id: If595ee5106c786f38e786d3a032e182f784a9d97
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9 18-Apr-2013 Romain Guy <romainguy@google.com> Pack preloaded framework assets in a texture atlas

When the Android runtime starts, the system preloads a series of assets
in the Zygote process. These assets are shared across all processes.
Unfortunately, each one of these assets is later uploaded in its own
OpenGL texture, once per process. This wastes memory and generates
unnecessary OpenGL state changes.

This CL introduces an asset server that provides an atlas to all processes.

Note: bitmaps used by skia shaders are *not* sampled from the atlas.
It's an uncommon use case and would require extra texture transforms
in the GL shaders.

WHAT IS THE ASSETS ATLAS

The "assets atlas" is a single, shareable graphic buffer that contains
all the system's preloaded bitmap drawables (this includes 9-patches.)
The atlas is made of two distinct objects: the graphic buffer that
contains the actual pixels and the map which indicates where each
preloaded bitmap can be found in the atlas (essentially a pair of
x and y coordinates.)

HOW IS THE ASSETS ATLAS GENERATED

Because we need to support a wide variety of devices and because it
is easy to change the list of preloaded drawables, the atlas is
generated at runtime, during the startup phase of the system process.

There are several steps that lead to the atlas generation:

1. If the device is booting for the first time, or if the device was
updated, we need to find the best atlas configuration. To do so,
the atlas service tries a number of width, height and algorithm
variations that allows us to pack as many assets as possible while
using as little memory as possible. Once a best configuration is found,
it gets written to disk in /data/system/framework_atlas

2. Given a best configuration (algorithm variant, dimensions and
number of bitmaps that can be packed in the atlas), the atlas service
packs all the preloaded bitmaps into a single graphic buffer object.

3. The packing is done using Skia in a temporary native bitmap. The
Skia bitmap is then copied into the graphic buffer using OpenGL ES
to benefit from texture swizzling.

HOW PROCESSES USE THE ATLAS

Whenever a process' hardware renderer initializes its EGL context,
it queries the atlas service for the graphic buffer and the map.

It is important to remember that both the context and the map will
be valid for the lifetime of the hardware renderer (if the system
process goes down, all apps get killed as well.)

Every time the hardware renderer needs to render a bitmap, it first
checks whether the bitmap can be found in the assets atlas. When
the bitmap is part of the atlas, texture coordinates are remapped
appropriately before rendering.

Change-Id: I8eaecf53e7f6a33d90da3d0047c5ceec89ea3af0
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
3fc184cf6e6f3e1d3e3360be11c76e0d081afaa1 26-Apr-2013 Scott Main <smain@google.com> am 01e48e7d: am 22f6a60e: Merge "add docs for new attributes, including account restriction for restricted profiles" into jb-mr2-dev

* commit '01e48e7d1541920ece358257e4c2481936497835':
add docs for new attributes, including account restriction for restricted profiles
b40c1fdaee6e6cabea8d1ed78f56d5b6bd133cfb 23-Apr-2013 Scott Main <smain@google.com> add docs for new attributes, including account restriction for restricted profiles

Change-Id: I737ea55bfa58562b1b384e52626e95b479759376
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
b1af7f3d4be6cd6bc6e1e805f22c209e19bf928f 08-Mar-2013 Chet Haase <chet@google.com> add getAlpha() to Drawable

Drawable has setAlpha(int), but no getAlpha() (although some subclasses have added the
method). This makes it more tedious to use the property. For example, animations that wish to
animate this property must explicitly give it a start value since this value cannot be queried
from the object.

The trick is that setAlpha(int) is abstract, only implemented by subclasses. We cannot take this
approach for getAlpha(), as we would break all subclasses of Drawable until they implemented the
method. Instead, we'll add a default method which returns an invalid value, making it easier for
clients of the method to detect whether the value is valid.

All subclasses of Drawble in frameworks have been changed to add an override of getAlpha() when
appropriate.

Issue #7485875 Drawables is missing getAlpha()

Change-Id: I06b6e35f1a56d202838eca44759c85c82595020a
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
7ac40e38696aa74d7b7938add8fdbc47180ae424 08-Feb-2013 Romain Guy <romainguy@google.com> Deprecate useless BitmapDrawable constructor
Bug #2590549

Change-Id: Icb45bf2d9836c43ed0825105f64d7b98afcdcdac
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
5769fcd88a6b53aa9394d869a9428c80e61a1565 27-Nov-2012 Romain Guy <romainguy@google.com> Add new mipMap attribute to BitmapDrawable

This attribute can be used to enable/disable mipmapping on bitmaps.
See Bitmap.setHasMipMap() for details.

Change-Id: I13cc800a258b6876a94e2a9605dcec4ea4f1ea48
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
684385ddde2ac0c26de0862390ad713aff3fb149 19-Sep-2012 Romain Guy <romainguy@google.com> mutate() didn't work as advertised
Bug #7162705

Change-Id: I15b2663fa7f1c71a2a3479134b8b7f37bfcbc607
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
5f49c3023a512efbef8bc9515d310c7a72be4af2 07-Sep-2012 Romain Guy <romainguy@google.com> The drawables cache strikes again
Bug #7117785

Draawables created from the ConstantState cache found in Resources must be
mutated before they can be safely modified by apps. Failure to do so results
in all drawables sharing the same constant state to be affected by the
modification.

In the case of the bugreport above, the status bar code plays tricks with
a background drawable and modifies its color to implement a fade in/out
effect. This drawable comes from a cached resource (color 0x0) and the
modifications made by the status bar apply to other clients of this drawable,
most notably the recents panel.

This change fixes several things:
- Simplifies colors caching by removing the assetCookie from the key. This
should result in better reuse of cached drawables
- Makes View.setBackgroundColor() honor the mutate() contract
- Ensure StateListDrawable properly mutates its children before modifying
them
- Optimize Bitmap/ColorDrawable to mark them mutated when they are not
created from an existing ConstantSate. The same optimization should be
applied to other drawables in the future

Change-Id: I54adb5d5b914c7d8930bf9b46f7e3f9dcbf4bcab
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
b03b434089cf2106c467b2827a65e5c589c91d01 04-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Revert "Revert "Clean up layout direction APIs for Drawable""

This reverts commit c96132ff53e5c26f5b0170edd85072006fb2bc70
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
c96132ff53e5c26f5b0170edd85072006fb2bc70 02-Jun-2012 Jean-Baptiste Queru <jbq@google.com> Revert "Clean up layout direction APIs for Drawable"

This reverts commit c1da65187a4b9de8f72bd617ef937030187c0a92.
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
c1da65187a4b9de8f72bd617ef937030187c0a92 01-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Clean up layout direction APIs for Drawable

- see bug #6427629

Change-Id: I3119db3022bba0ee325b6d0d4471bfebd850ec10
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
b1216dd916e0f5fdec29684120c5bcc904800916 02-Aug-2011 Romain Guy <romainguy@google.com> Copy constructors should actually copy stuff.
Bug #5027094

Change-Id: Iab6bf652e0b9bdd1bbc794e7c4218f46bafdd1a4
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
ad4f70306b2089a273635b73a101fe48aa36cbe2 22-Jun-2011 Chet Haase <chet@google.com> Fix flashing artifacts caused by invalidation bugs

Therea re 2 fixes here:
- We sometimes cleared a flag in ViewAncestor too soon that controlled
how invalidated areas were redrawn (related to whether the invalidates
happened on opaque views or not).
- TransitionDrawable was always setting/restoring alpha values on its
drawables every time it was drawn. setAlpha on BitmapDrawable causes
an invalidation, so essentially this was an infinite invalidation/redrawing
loop. The fix was to notice when the animation was done and to simply
draw the appropriate drawable[s].

Change-Id: I1849a5a909b0039a0e9bce0aa3cfc33c50f8f854
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
c0053223bedf33581b0830fb87be32c1f26e5372 13-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add View.getResolvedLayoutDirection()

- update Callback2 interface
- update Gravity.getAbsoluteGravity() and Gravity.apply() to be more generic
by changing "boolean isRtl" parameter to "int layoutDirection"
- fix BiDiTests for RTL FrameLayout

Change-Id: I97bb456c22d5fd3ecb34f08564ce4dbed37e7459
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
6a03640539405afbdefe72894759281b98aa6e6f 23-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Add support for Gravity BEFORE and AFTER

- update layouts
- add Callback2 for RTL aware Drawable
- add unit tests

Change-Id: Ic64d0291e262170aff7297c6580b0b422eaa8d89
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
17f83df9604ef9239694e8fd5a9efb894fd28453 30-Apr-2011 Conley Owens <cco3@android.com> am 7dcdfd79: am f26ec38c: am 501f7bca: Merge "Eliminating dead logic - bitmap state simply cannot be null here."

* commit '7dcdfd7988d1e57c7a705a2d7294e8bfa2b8afc9':
Eliminating dead logic - bitmap state simply cannot be null here.
7dcdfd7988d1e57c7a705a2d7294e8bfa2b8afc9 29-Apr-2011 Conley Owens <cco3@android.com> am f26ec38c: am 501f7bca: Merge "Eliminating dead logic - bitmap state simply cannot be null here."

* commit 'f26ec38c344af8cf91575b461028a3033b940d49':
Eliminating dead logic - bitmap state simply cannot be null here.
e42143aa575dcb8ab0616080b2e9b4614a1a4167 19-Apr-2011 Jozef BABJAK <jozef.babjak@gmail.com> Eliminating dead logic - bitmap state simply cannot be null here.

Change-Id: I33fdf650b06242efa22ca30b3f7252f6854b42f6
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
2660a3ec8564918a243b1b02e3652c514bc93bfc 30-Mar-2011 Romain Guy <romainguy@google.com> Move the drawable state to the correct class.
Bug #4170455

The state tracking whether the Paint's shader should be rebuilt was kept in the
wrong class. This lead to the Drawable keeping track of the dirty status of the
Paint stored in the ConstantState. This of course does not work properly when
several drawables are inflated form the same ConstantState. This change fixes
the issue by moving the dirty Paint state to the ConstantState class. This is
allowed to work because of the single-thread rule enforced by the UI toolkit.

Change-Id: I9bb31d8e7335d6bb418470b59ae25d9085d7bd23
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
ee0c116ab2bd5acdfe50db36441cf4784d3a10b4 24-Mar-2011 Romain Guy <romainguy@google.com> Always apply the tile mode.
Bug #4170455

Change-Id: Id537a226a0b59bfa65b54bcea062aa5bf1a730b8
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
6efd2bad954e0e5bd74916a32f036a0f149dcd4d 13-Jan-2011 Christopher Lais <chris+android@zenthought.org> Don't drop the drawable cache completely on configuration change

There was a lot of fancy code just above the clear to ensure
that drawables that aren't affected by the change are kept,
then the entire array was cleared. This patch removes the
clear, so that the drawables that haven't changed are really
kept, matching the logs, comments and larger part of the code.

This patch also fixes the various constant states to return
correct ChangingConfigurations.

Change-Id: Ic11f6179537318d3de16dc58286989eb62a07f15
Old-Change-Id: I22495e6ed232dfe056207ce5155405af1fa82428
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
8d71769b9bc3d0e72b26217d9059ce4473a91fe5 13-Jan-2011 Christopher Lais <chris+android@zenthought.org> Don't drop the drawable cache completely on configuration change

There was a lot of fancy code just above the clear to ensure
that drawables that aren't affected by the change are kept,
then the entire array was cleared. This patch removes the
clear, so that the drawables that haven't changed are really
kept, matching the logs, comments and larger part of the code.

This patch also fixes the various constant states to return
correct ChangingConfigurations.

Change-Id: Ic11f6179537318d3de16dc58286989eb62a07f15
Old-Change-Id: I22495e6ed232dfe056207ce5155405af1fa82428
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
9891e1fce5f29d0421d34aa481037417bd70853d 11-Nov-2010 Chet Haase <chet@google.com> Add invalidation to Drawable when its properties change

invalidateSelf() already exists on Drawable. This triggers a call to
callback listeners so that they know the drawable has been invalidated.
For example, the background drawable on View will cause the View itself
to be invalidated.

Change-Id: I45b231a7600dcf3bc139e4059b7c9940ff49f60c
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
dfe5c204403bc56c29bb36410574eab8b1950417 09-Jun-2010 Scott Main <smain@google.com> 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
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
29e4a3c566f435c32f0b95e4ac8e8b33cac6faba 01-Oct-2009 Dianne Hackborn <hackbod@google.com> Update from API review.

Change-Id: I16b1c566f91167aac9615ac59dd297a154c828ea
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
ffff38420c8b4713470011b909ae2238b5675f7c 16-Sep-2009 Romain Guy <romainguy@android.com> Build the BitmapShader if it hasn't been built yet.

This was causing a bug in the InCall UI where the background would be stretched.

Change-Id: Ie25a7d09f4779f166e267b2f921d40441ce361d2
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
c2974809373697147cbe5754835cc871fb93aef1 14-Sep-2009 Dianne Hackborn <hackbod@google.com> 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
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
211db4a2874f1a2d0e7a8cb8d33e81fa08801763 11-Sep-2009 Mike Reed <reed@google.com> change default for dither to true
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
4a51c20ce607c74914f90fd897f04080121ac13b 22-Aug-2009 Dianne Hackborn <hackbod@google.com> I am getting tired of the java doc warnings, so fix them.

Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
11ea33471e1a14a8594f0b2cd012d86340dd3bd8 23-Jul-2009 Dianne Hackborn <hackbod@google.com> Allow for screen density drawables in compatibility mode.

This change allows us to use drawables that match the current screen
density even when being loaded in compatibility mode. In this case,
the bitmap is loaded in the screen density, and the bitmap and
nine-patch drawables take care of accounting for the density difference.

This should be safe for existing applications, for the most part, since
they shouldn't really be pulling the bitmap out of the drawable. For
the small rare chance of them breaking, it worth getting the correct
graphics. Also this will only happen when there is actually a resource
of the matching density, and no existing apps should have resources for
anything besides the default density (though of course all of the
framework resources will be available in the native density).

As part of this, the bitmap density API has been changed to a single
integer provider the DPI unit density.
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/graphics/java/android/graphics/drawable/BitmapDrawable.java