Disable shadow drawing for empty/null outlines

Change-Id: I60d0f326cfab97d88c49d17cf32e619b5e60b94a
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index f0645a9..df74f31 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -473,7 +473,7 @@
 
 template <class T>
 void RenderNode::issueDrawShadowOperation(const Matrix4& transformFromParent, T& handler) {
-    if (properties().getAlpha() <= 0.0f) return;
+    if (properties().getAlpha() <= 0.0f || properties().getOutline().isEmpty()) return;
 
     mat4 shadowMatrixXY(transformFromParent);
     applyViewPropertyTransforms(shadowMatrixXY);
@@ -487,6 +487,8 @@
     const SkPath* revealClipPath = revealClip.hasConvexClip()
             ?  revealClip.getPath() : NULL; // only pass the reveal clip's path if it's convex
 
+    if (revealClipPath && revealClipPath->isEmpty()) return;
+
     /**
      * The drawing area of the caster is always the same as the its perimeter (which
      * the shadow system uses) *except* in the inverse clip case. Inform the shadow
@@ -498,7 +500,6 @@
     DisplayListOp* shadowOp  = new (handler.allocator()) DrawShadowOp(
             shadowMatrixXY, shadowMatrixZ,
             properties().getAlpha(), casterUnclipped,
-            properties().getWidth(), properties().getHeight(),
             outlinePath, revealClipPath);
     handler(shadowOp, PROPERTY_SAVECOUNT, properties().getClipToBounds());
 }