From 1bf1d5a24090ce712cd9437ebcd07ea3519a91f3 Mon Sep 17 00:00:00 2001 From: Nader Jawad Date: Mon, 23 Apr 2018 17:13:06 -0700 Subject: [PATCH] Updated ColorDrawable to implement getColorFilter ColorDrawable previously did not implement getColorFilter despite having a proper setColorFilter implementation. Updated ColorDrawable to support getColorFilter returning the corresponding ColorFilter configured on it's paint. Change-Id: Iabc3cd1b9110f5c3ec25e26a31966e2a43f8fb16 Fixes:78476471 Test: Re-ran CtsGraphicsTest --- .../graphics/drawable/ColorDrawable.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/graphics/java/android/graphics/drawable/ColorDrawable.java b/graphics/java/android/graphics/drawable/ColorDrawable.java index 9ae747de2f820..a601d6d6febac 100644 --- a/graphics/java/android/graphics/drawable/ColorDrawable.java +++ b/graphics/java/android/graphics/drawable/ColorDrawable.java @@ -21,12 +21,18 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.TestApi; import android.content.pm.ActivityInfo.Config; -import android.graphics.*; -import android.graphics.PorterDuff.Mode; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.Outline; +import android.graphics.Paint; +import android.graphics.PixelFormat; +import android.graphics.PorterDuff.Mode; +import android.graphics.PorterDuffColorFilter; +import android.graphics.Xfermode; import android.util.AttributeSet; import android.view.ViewDebug; @@ -180,6 +186,17 @@ public class ColorDrawable extends Drawable { mPaint.setColorFilter(colorFilter); } + /** + * Returns the color filter applied to this color configured by + * {@link #setColorFilter(ColorFilter)} + * + * @see android.graphics.drawable.Drawable#getColorFilter() + */ + @Override + public @Nullable ColorFilter getColorFilter() { + return mPaint.getColorFilter(); + } + @Override public void setTintList(ColorStateList tint) { mColorState.mTint = tint;