public void setDots(Dots dots) {
   this.dots = dots;
   dots.setDotsChangeListener(
       new Dots.DotsChangeListener() {
         @Override
         public void onDotsChange(Dots dots) {
           invalidate();
         }
       });
 }
 @Override
 protected void onDraw(Canvas canvas) {
   if (dots == null) return;
   canvas.drawColor(Color.WHITE);
   Paint paint = new Paint();
   paint.setStyle(Style.FILL);
   for (Dot dot : dots.getDots()) {
     paint.setColor(dot.getColor());
     canvas.drawCircle(dot.getX(), dot.getY(), dot.getDiameter(), paint);
   }
 }