From 8eeb729cf20b770823514d83d3c2b5391a3d51e1 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Tue, 15 Jul 2014 15:36:32 -0700 Subject: [PATCH] Avoid arc for edge effect drawing. b/16131698 Tessellation doesn't support joins, which filled arcs have. Change-Id: I566d0c1c39f058bb641aa24d2a4488b0aaa1b454 --- core/java/android/widget/EdgeEffect.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/core/java/android/widget/EdgeEffect.java b/core/java/android/widget/EdgeEffect.java index 3758d86320ef1..57b8dcb9e7639 100644 --- a/core/java/android/widget/EdgeEffect.java +++ b/core/java/android/widget/EdgeEffect.java @@ -21,7 +21,6 @@ import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; -import android.graphics.RectF; import android.content.Context; import android.graphics.Canvas; @@ -106,7 +105,6 @@ public class EdgeEffect { private float mPullDistance; private final Rect mBounds = new Rect(); - private final RectF mArcRect = new RectF(); private final Paint mPaint = new Paint(); private float mRadius; private float mBaseGlowHeight; @@ -318,11 +316,9 @@ public class EdgeEffect { final int count = canvas.save(); - final float y = mBounds.height(); - final float centerY = y - mRadius; final float centerX = mBounds.centerX(); + final float centerY = mBounds.height() - mRadius; - mArcRect.set(centerX - mRadius, centerY - mRadius, centerX + mRadius, centerY + mRadius); canvas.scale(1.f, Math.min(mGlowScaleY, 1.f), centerX, 0); final float displacement = Math.max(0, Math.min(mDisplacement, 1.f)) - 0.5f; @@ -330,7 +326,7 @@ public class EdgeEffect { canvas.clipRect(mBounds); canvas.translate(translateX, 0); - canvas.drawArc(mArcRect, 45, 90, false, mPaint); + canvas.drawCircle(centerX, centerY, mRadius, mPaint); canvas.restoreToCount(count); boolean oneLastFrame = false;