@Override
 public void onStepChange(PicSphere sphere, int newStep) {
   if (CameraActivity.getCameraMode() == CameraActivity.CAMERA_MODE_PICSPHERE) {
     mContext.setHelperText(
         String.format(
             mContext.getString(R.string.picsphere_rendering_progress),
             sphere.getRenderProgress()));
   }
 }
  /**
   * Starts rendering the provided PicSphere in a thread, and handles a service that will keep on
   * processing even once Nemesis is closed
   *
   * @param sphere The PicSphere to render
   */
  public void startRendering(final PicSphere sphere, final int orientation) {
    // Notify toast
    CameraActivity.notify(mContext.getString(R.string.picsphere_toast_background_render), 2500);

    if (mIsBound && mBoundService != null) {
      sphere.addProgressListener(this);
      mBoundService.render(sphere, orientation);
    } else {
      doBindService();
      mHandler.postDelayed(
          new Runnable() {
            public void run() {
              startRendering(sphere, orientation);
            }
          },
          500);
    }
  }