The logic looks fine, you should try debugging the area. The best way to debug it is by using the area#getPositions(plane) to get all position with in the area, use a for loop in the onPaint. do a simple is visible boolean check and use the Position#getpolygon, and draw it in the onPaint.
example: