There is a NullPointerException in the drawHorizontalCrosshair and drawVerticalCrosshair methods of CrosshairOverlay when the label is an empty string. This happens because TextUtils.calculateRotatedStringBounds() returns a null Shape for empty strings and the calling methods do not test this case.