From 3f873d86441c30f5d45640a9f70b3b7331985c90 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Mon, 29 Sep 2014 13:22:05 -0700 Subject: [PATCH] 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 --- graphics/java/android/graphics/drawable/ColorDrawable.java | 7 +++++++ graphics/java/android/graphics/drawable/Drawable.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/graphics/java/android/graphics/drawable/ColorDrawable.java b/graphics/java/android/graphics/drawable/ColorDrawable.java index 33225ce36bffb..0608065c71535 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; @@ -210,6 +211,12 @@ public class ColorDrawable extends Drawable { return PixelFormat.TRANSLUCENT; } + @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 { diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java index 43a9eaa17addd..9ae788cf6c901 100644 --- a/graphics/java/android/graphics/drawable/Drawable.java +++ b/graphics/java/android/graphics/drawable/Drawable.java @@ -895,7 +895,7 @@ public abstract class Drawable { */ public void getOutline(@NonNull Outline outline) { outline.setRect(getBounds()); - outline.setAlpha(getAlpha() / 255.0f); + outline.setAlpha(0); } /**