private final void updatePathShape() {
        float halfWidth = (float)widthPx * 0.5f;

        shapePath.reset();

        float w = isLeft ? 0.0f : (float)widthPx;
        int f = isLeft ? 1 : -1;

        shapePath.moveTo(w, 0.0F);
        shapePath.lineTo((float)f * (halfWidth - arcSize) + w, 0.0F);
        shapePath.quadTo(
                (float)f * (halfWidth + arcSize) + w,
                (float)heightPx / (float)2,
                (float)f * (halfWidth - arcSize) + w,
                (float)heightPx
        );
        shapePath.lineTo(w, (float)heightPx);
        shapePath.close();
        invalidate();
    }
View class

Draws a arc shape and provides a circle scaling animation.
Used by [YouTubeOverlay][com.github.vkay94.dtpv.youtube.YouTubeOverlay].
app/src/main/java/com/brouken/player/dtpv/youtube/views/CircleClipTapView.java