From bac9769146af07753728e5c6b3a30eae3076aed0 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Tue, 11 Aug 2015 14:25:45 -0400 Subject: Ensure ripple mask is drawn at correct position Bug: 22911708 Change-Id: Icdbe1f8a66d5e35eb25aa973c94f5870896cc1f8 --- graphics/java/android/graphics/drawable/RippleDrawable.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'graphics') diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index bf069d3..32f6a89 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -786,12 +786,16 @@ public class RippleDrawable extends LayerDrawable { mMaskColorFilter = new PorterDuffColorFilter(0, PorterDuff.Mode.SRC_IN); } - // Draw the appropriate mask. + // Draw the appropriate mask anchored to (0,0). + final int left = bounds.left; + final int top = bounds.top; + mMaskCanvas.translate(-left, -top); if (maskType == MASK_EXPLICIT) { drawMask(mMaskCanvas); } else if (maskType == MASK_CONTENT) { drawContent(mMaskCanvas); } + mMaskCanvas.translate(left, top); } private int getMaskType() { -- cgit v1.1