summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/View.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 83c6e9e1ab83..4e6735acf1e1 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -16855,9 +16855,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
} else {
// use layer paint to draw the bitmap, merging the two alphas, but also restore
int layerPaintAlpha = mLayerPaint != null ? mLayerPaint.getAlpha() : 255;
- mLayerPaint.setAlpha((int) (alpha * layerPaintAlpha));
+ if (mLayerPaint == null && alpha < 1) {
+ mLayerPaint = new Paint();
+ mLayerPaint.setAlpha((int) (alpha * layerPaintAlpha));
+ }
canvas.drawBitmap(cache, 0.0f, 0.0f, mLayerPaint);
- mLayerPaint.setAlpha(layerPaintAlpha);
+ if (mLayerPaint != null) {
+ mLayerPaint.setAlpha(layerPaintAlpha);
+ }
}
}