@Override
  protected void initViews() {

    mControllerTopView = (RelativeLayout) findViewById(R.id.controller_top_layout);
    mBackLayout = (RelativeLayout) findViewById(R.id.back_layout);
    mTitleTextView = (TextView) findViewById(R.id.title_text_view);
    mControllerBottomView = (RelativeLayout) findViewById(R.id.controller_bottom_layout);
    mSeekBar = (MediaPlayerVideoSeekBar) findViewById(R.id.seekbar_video_progress);
    mPlaybackImageView = (ImageView) findViewById(R.id.video_playback_image_view);
    mCurrentTimeTextView = (TextView) findViewById(R.id.short_video_small_current_time_tv);
    mTotalTimeTextView = (TextView) findViewById(R.id.short_video_small_duration_time_tv);
    mSeekBar.setMax(MAX_VIDEO_PROGRESS);
    mSeekBar.setProgress(0);
  }
  public void updateVideoProgress(float percentage) {

    if (percentage >= 0 && percentage <= 1) {
      int progress = (int) (percentage * mSeekBar.getMax());
      if (!mVideoProgressTrackingTouch) mSeekBar.setProgress(progress);

      long curTime = mMediaPlayerController.getCurrentPosition();
      long durTime = mMediaPlayerController.getDuration();

      if (durTime > 0 && curTime <= durTime) {
        mCurrentTimeTextView.setText(MediaPlayerUtils.getVideoDisplayTime(curTime));
        mTotalTimeTextView.setText(MediaPlayerUtils.getVideoDisplayTime(durTime));
      }
    }
  }
  @Override
  protected void initListeners() {

    mBackLayout.setOnClickListener(this);
    mTitleTextView.setOnClickListener(this);
    mPlaybackImageView.setOnClickListener(this);
    mSeekBar.setOnSeekBarChangeListener(
        new OnSeekBarChangeListener() {

          @Override
          public void onStopTrackingTouch(SeekBar seekBar) {

            mVideoProgressTrackingTouch = false;

            int curProgress = seekBar.getProgress();
            int maxProgress = seekBar.getMax();

            if (curProgress >= 0 && curProgress <= maxProgress) {
              float percentage = ((float) curProgress) / maxProgress;
              int position = (int) (mMediaPlayerController.getDuration() * percentage);
              mMediaPlayerController.seekTo(position);
              // mMediaPlayerController.start();
            }
          }

          @Override
          public void onStartTrackingTouch(SeekBar seekBar) {

            mVideoProgressTrackingTouch = true;
          }

          @Override
          public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

            if (fromUser) {
              if (isShowing()) {
                show();
              }
            }
          }
        });
  }