/**
   * Sets the next bitmap.
   *
   * @param bitmap the bitmap
   * @param update the update
   * @param matrix the matrix
   */
  void setNextBitmap(Bitmap bitmap, boolean update, Matrix matrix) {
    logger.log("setNextBitmap", bitmap, update, matrix);

    if (null != mBitmapChangeListener) mBitmapChangeListener.onBitmapChange(bitmap, update, matrix);

    if (!mBitmap.equals(bitmap)) {
      logger.warning("[recycle] original Bitmap: " + mBitmap);
      mBitmap.recycle();
      mBitmap = null;
    }
    mBitmap = bitmap;
  }
 @Override
 public void onPreviewChange(ColorFilter colorFilter) {
   if (!getEnabled() || !isOpened()) return;
   if (null != mBitmapChangeListener) mBitmapChangeListener.onPreviewChange(colorFilter);
 }
 @Override
 public void onPreviewChange(final Bitmap result) {
   if (!getEnabled() || !isOpened()) return;
   if (null != mBitmapChangeListener) mBitmapChangeListener.onPreviewChange(result);
 }