title: DIFFERENCE Clipping is not working as expected
body: <p>I am trying to draw a masked Bitmap with a circular inverted clipping. The intended effect should look like sun rays glowing from the edge of circle towards a direction. 
  The masking works just fine, but clipping out the inner circle just does not work. Is there something what I am missing?</p>
  
  <p>This is the onDraw method of an ImageView, with an additional mask bitmap. using this code works almost fine when previewing the view it in the eclipse ADT tool (except for the Xfermode, which is not supported in the preview), but on the device the clipping is ignored.  </p>
  
  <pre><code>@Override
  protected void onDraw(Canvas canvas) {
  
      if (originalBounds == null) {
          originalBounds = new Rect();
          getDrawingRect(originalBounds);
  
          maskDrawable.setBounds(originalBounds);
          maskBitmap = drawableToBitmap(maskDrawable, getWidth(),
                  getHeight(), Config.ARGB_8888);
          bitmap = drawableToBitmap(getDrawable(), getWidth(), getHeight(),
                  Config.ARGB_8888);
  
      }
  
      if (clipPath == null &amp;&amp; clipPathRadius != 0) {
          clipPath = new Path();
          clipPath.addCircle(originalBounds.exactCenterX(),
                  originalBounds.exactCenterY(), clipPathRadius,
                  Path.Direction.CCW);
  
      }
  
      canvas.saveLayer(originalBounds.left, originalBounds.top,
              originalBounds.right, originalBounds.bottom, null,
              Canvas.MATRIX_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG
                      | Canvas.FULL_COLOR_LAYER_SAVE_FLAG
                      | Canvas.CLIP_SAVE_FLAG
                      | Canvas.CLIP_TO_LAYER_SAVE_FLAG);
  
      if (clipPath != null) {
          canvas.clipPath(clipPath, Op.DIFFERENCE);
      }
  
      paint.setXfermode(null);
      canvas.drawBitmap(bitmap, null, originalBounds, paint);
  
      paint.setXfermode(xfermode);
      canvas.saveLayer(originalBounds.left, originalBounds.top,
              originalBounds.right, originalBounds.bottom, paint,
              Canvas.MATRIX_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG
                      | Canvas.FULL_COLOR_LAYER_SAVE_FLAG
                      | Canvas.CLIP_SAVE_FLAG
                      | Canvas.CLIP_TO_LAYER_SAVE_FLAG);
  
      paint.setXfermode(null);
      canvas.rotate(maskRotation, originalBounds.exactCenterX(),
              originalBounds.exactCenterY());
      if (clipPath != null) {
          canvas.clipPath(clipPath, Op.DIFFERENCE);
      }
      canvas.drawBitmap(maskBitmap, null, originalBounds, paint);
      canvas.rotate(0, originalBounds.exactCenterX(),
              originalBounds.exactCenterY());
      canvas.restore();
      canvas.restore();
  
  }
  </code></pre>
  
  <p>This is what the Preview is showing, it is clearly visible that the circle is cut out in the middle, but this is not happaning on the device: </p>
  
  <p><img src="https://i.stack.imgur.com/E8myL.png" alt="enter image description here"></p>