private void hideFlipAnimation() {
    if (inFlipAnimation) {
      inFlipAnimation = false;

      updateVisibleView(bufferIndex);

      if (onViewFlipListener != null) {
        onViewFlipListener.onViewFlipped(bufferedViews.get(bufferIndex), adapterIndex);
        if (playPauseCallBack != null) playPauseCallBack.onFliped(bufferedViews.get(bufferIndex));
      }

      handler.post(
          new Runnable() {
            public void run() {
              if (!inFlipAnimation) {
                cards.setVisible(false);
                surfaceView.requestRender(); // ask OpenGL to clear its display
              }
            }
          });
    }
  }
 // add by hz
 public void flipToPageAgain() {
   if (onViewFlipListener != null) {
     onViewFlipListener.onViewFlipped(bufferedViews.get(bufferIndex), adapterIndex);
     if (playPauseCallBack != null) playPauseCallBack.onFliped(bufferedViews.get(bufferIndex));
   }
 }