From 19b93b7988c12a25d9a88ca808d871916263ef9f Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Sun, 19 Feb 2017 20:21:37 -0800 Subject: Updating FolderIcon drawing to avoid dependency on software layer. Instead of cliping using clipPath, using PorterDuffXfermode to clear area outside the bounds. This provides much better support for antialiasing. Software layer was also being used for drawing shadow. But since the paint color was set to transparent, no shadow was being drawn in O. Instead drawing the shadow using radial gradient. Bug: 35680116 Bug: 35428783 Change-Id: I0431664400628d5d01675fe72fe7ade01b64d611 --- src/com/android/launcher3/CellLayout.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/com/android/launcher3/CellLayout.java') diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java index e0fcbf04d..8179dad29 100644 --- a/src/com/android/launcher3/CellLayout.java +++ b/src/com/android/launcher3/CellLayout.java @@ -105,7 +105,6 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { private ArrayList mFolderBackgrounds = new ArrayList(); FolderIcon.PreviewBackground mFolderLeaveBehind = new FolderIcon.PreviewBackground(); - Paint mFolderBgPaint = new Paint(); private float mBackgroundAlpha; @@ -501,9 +500,9 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { cellToPoint(bg.delegateCellX, bg.delegateCellY, mTempLocation); canvas.save(); canvas.translate(mTempLocation[0], mTempLocation[1]); - bg.drawBackground(canvas, mFolderBgPaint); + bg.drawBackground(canvas); if (!bg.isClipping) { - bg.drawBackgroundStroke(canvas, mFolderBgPaint); + bg.drawBackgroundStroke(canvas); } canvas.restore(); } @@ -513,7 +512,7 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { mFolderLeaveBehind.delegateCellY, mTempLocation); canvas.save(); canvas.translate(mTempLocation[0], mTempLocation[1]); - mFolderLeaveBehind.drawLeaveBehind(canvas, mFolderBgPaint); + mFolderLeaveBehind.drawLeaveBehind(canvas); canvas.restore(); } } @@ -528,7 +527,7 @@ public class CellLayout extends ViewGroup implements BubbleTextShadowHandler { cellToPoint(bg.delegateCellX, bg.delegateCellY, mTempLocation); canvas.save(); canvas.translate(mTempLocation[0], mTempLocation[1]); - bg.drawBackgroundStroke(canvas, mFolderBgPaint); + bg.drawBackgroundStroke(canvas); canvas.restore(); } } -- cgit v1.2.3