Avoid ripple buffer creation for empty bounds

Bug: 19068439
Change-Id: I031d4303bbf101a25612dce6f02d81ce4cf58e2b
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java
index 9809606..1263447 100644
--- a/graphics/java/android/graphics/drawable/RippleDrawable.java
+++ b/graphics/java/android/graphics/drawable/RippleDrawable.java
@@ -661,7 +661,8 @@
 
         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 @@
         }
 
         // Ensure we have a correctly-sized buffer.
-        final Rect bounds = getBounds();
         if (mMaskBuffer == null
                 || mMaskBuffer.getWidth() != bounds.width()
                 || mMaskBuffer.getHeight() != bounds.height()) {