private void draw() {
   mStartTime = System.currentTimeMillis();
   SurfaceHolder holder = getSurfaceHolder();
   Canvas canvas = null;
   try {
     canvas = holder.lockCanvas();
     if (canvas != null) {
       backgroundRenderer.doDraw(canvas);
       // circularClockRenderer.doDraw(canvas);
     }
   } finally {
     if (canvas != null) holder.unlockCanvasAndPost(canvas);
   }
   mElapsed = System.currentTimeMillis() - mStartTime;
   mStartTime = System.currentTimeMillis();
   handler.removeCallbacks(drawRunner);
   if (visible) {
     handler.postDelayed(drawRunner, 100);
   }
 }