diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java index 398ef70d5..ca5e4f136 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/art/ARTShapeShadowNode.java @@ -298,18 +298,18 @@ public class ARTShapeShadowNode extends ARTVirtualNode { boolean counterClockwise = !(data[i++] == 1f); float sweep = end - start; - if (Math.abs(sweep) > 360) { - sweep = 360; + if (Math.abs(sweep) >= 360) { + path.addCircle(x, y, r, counterClockwise ? Path.Direction.CCW : Path.Direction.CW); } else { sweep = modulus(sweep, 360); - } - if (counterClockwise && sweep < 360) { - // Counter-clockwise sweeps are negative - sweep = -1 * (360 - sweep); - } + if (counterClockwise && sweep < 360) { + // Counter-clockwise sweeps are negative + sweep = -1 * (360 - sweep); + } - RectF oval = new RectF(x - r, y - r, x + r, y + r); - path.arcTo(oval, start, sweep); + RectF oval = new RectF(x - r, y - r, x + r, y + r); + path.arcTo(oval, start, sweep); + } break; } default: