Add dither XML flag to StateListDrawable.
We currently allow the dither="true" flag to be set on
individual <bitmap> and <nine-patch> objects, but that flag
is overridden when they are included in a <selector>. This
change adds the dither="true" flag to StateListDrawable so
they can be dithered when desired.
Fixes http://b/issue?id=2068024
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 403d07d..cd3f065 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -2274,6 +2274,10 @@
of the states. If false, the size will vary based on the
current state. -->
<attr name="constantSize" format="boolean" />
+ <!-- Enables or disables dithering of the bitmap if the bitmap does not have the
+ same pixel configuration as the screen (for instance: a ARGB 8888 bitmap with
+ an RGB 565 screen.) -->
+ <attr name="dither" format="boolean" />
</declare-styleable>
<declare-styleable name="AnimationDrawable">
@@ -2420,7 +2424,7 @@
<!-- Enables or disables dithering of the bitmap if the bitmap does not have the
same pixel configuration as the screen (for instance: a ARGB 8888 bitmap with
an RGB 565 screen.) -->
- <attr name="dither" format="boolean" />
+ <attr name="dither" />
<!-- Defines the gravity for the bitmap. The gravity indicates where to position
the drawable in its container if the bitmap is smaller than the container. -->
<attr name="gravity" />
diff --git a/graphics/java/android/graphics/drawable/StateListDrawable.java b/graphics/java/android/graphics/drawable/StateListDrawable.java
index d22a4ba..a8274b1 100644
--- a/graphics/java/android/graphics/drawable/StateListDrawable.java
+++ b/graphics/java/android/graphics/drawable/StateListDrawable.java
@@ -105,6 +105,8 @@
mStateListState.setConstantSize(a.getBoolean(
com.android.internal.R.styleable.StateListDrawable_constantSize, false));
+ setDither(a.getBoolean(com.android.internal.R.styleable.StateListDrawable_dither, false));
+
a.recycle();
int type;