Call setLocalMatrix before setShader.
This is now required in order to affect the Paint.
BUG:14315916
Change-Id: I7afa525d4a1d0e71d0ca5c79780c7d8b9100a959
diff --git a/src/com/android/bitmap/drawable/CircularBitmapDrawable.java b/src/com/android/bitmap/drawable/CircularBitmapDrawable.java
index a4af368..942cbfb 100644
--- a/src/com/android/bitmap/drawable/CircularBitmapDrawable.java
+++ b/src/com/android/bitmap/drawable/CircularBitmapDrawable.java
@@ -125,7 +125,6 @@
if (shader == null || mShaderBitmap != bitmap) {
shader = new BitmapShader(bitmap, TileMode.CLAMP, TileMode.CLAMP);
mShaderBitmap = bitmap;
- mBitmapPaint.setShader(shader);
}
sMatrix.reset();
@@ -136,6 +135,7 @@
// Translate bitmap to dst bounds.
sMatrix.postTranslate(dst.left, dst.top);
shader.setLocalMatrix(sMatrix);
+ mBitmapPaint.setShader(shader);
int oldAlpha = mBitmapPaint.getAlpha();
mBitmapPaint.setAlpha((int) (oldAlpha * alpha));