Implement alpha as documented for drawables
bug:17693526
With this change, outline opacity isn't published by default, as was
intended. Default behavior for custom drawables is to have a
rectangular outline, but not cast a shadow, e.g. as a button
background.
Change-Id: If80a256ff359bcb58f3f593ec9018f2df5fc4e44
diff --git a/graphics/java/android/graphics/drawable/ColorDrawable.java b/graphics/java/android/graphics/drawable/ColorDrawable.java
index 33225ce..0608065 100644
--- a/graphics/java/android/graphics/drawable/ColorDrawable.java
+++ b/graphics/java/android/graphics/drawable/ColorDrawable.java
@@ -16,6 +16,7 @@
package android.graphics.drawable;
+import android.annotation.NonNull;
import android.graphics.*;
import android.graphics.PorterDuff.Mode;
import android.content.res.ColorStateList;
@@ -211,6 +212,12 @@
}
@Override
+ public void getOutline(@NonNull Outline outline) {
+ outline.setRect(getBounds());
+ outline.setAlpha(getAlpha() / 255.0f);
+ }
+
+ @Override
public void inflate(Resources r, XmlPullParser parser, AttributeSet attrs, Theme theme)
throws XmlPullParserException, IOException {
super.inflate(r, parser, attrs, theme);
diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java
index 43a9eaa..9ae788c 100644
--- a/graphics/java/android/graphics/drawable/Drawable.java
+++ b/graphics/java/android/graphics/drawable/Drawable.java
@@ -895,7 +895,7 @@
*/
public void getOutline(@NonNull Outline outline) {
outline.setRect(getBounds());
- outline.setAlpha(getAlpha() / 255.0f);
+ outline.setAlpha(0);
}
/**