OSDN Git Service

Avoid ripple buffer creation for empty bounds
[android-x86/frameworks-base.git] / graphics / java / android / graphics / drawable / RippleDrawable.java
index 9809606..1263447 100644 (file)
@@ -661,7 +661,8 @@ public class RippleDrawable extends LayerDrawable {
 
         mHasValidMask = true;
 
-        if (maskType == MASK_NONE) {
+        final Rect bounds = getBounds();
+        if (maskType == MASK_NONE || bounds.isEmpty()) {
             if (mMaskBuffer != null) {
                 mMaskBuffer.recycle();
                 mMaskBuffer = null;
@@ -674,7 +675,6 @@ public class RippleDrawable extends LayerDrawable {
         }
 
         // Ensure we have a correctly-sized buffer.
-        final Rect bounds = getBounds();
         if (mMaskBuffer == null
                 || mMaskBuffer.getWidth() != bounds.width()
                 || mMaskBuffer.getHeight() != bounds.height()) {