@Override
  public void surfaceDestroyed(SurfaceHolder holder) {
    isCreated = false;

    Log.w("MySurfaceView", "surfaceDestroyed");

    boolean retry = true;
    // close thread
    processCameraDataThread.stopProcessing();
    while (retry) {
      try {
        processCameraDataThread.join();
        retry = false;
      } catch (InterruptedException e) {
        // try again
      }
    }
  }