private void showCurrentSlide() {
    mPresenter.setLocation(mPosition);
    mPresenter.present();
    updateTitle();

    if (mSlideshowModel.get(mPosition).hasImage()) {
      setReplaceButtonText(R.string.replace_image);
    } else {
      setReplaceButtonText(R.string.add_picture);
    }
  }
    private View createViewFromResource(int position, View convertView, int resource) {
      SlideListItemView slideListItemView;
      slideListItemView = (SlideListItemView) mInflater.inflate(resource, null);

      // Show slide number.
      TextView text;
      text = (TextView) slideListItemView.findViewById(R.id.slide_number_text);
      text.setText(mContext.getString(R.string.slide_number, position + 1));

      SlideModel slide = getItem(position);
      int dur = slide.getDuration() / 1000;
      text = (TextView) slideListItemView.findViewById(R.id.duration_text);
      text.setText(mContext.getResources().getQuantityString(R.plurals.slide_duration, dur, dur));

      Presenter presenter =
          PresenterFactory.getPresenter(
              "SlideshowPresenter", mContext, slideListItemView, mSlideshow);
      ((SlideshowPresenter) presenter).setLocation(position);
      presenter.present();

      return slideListItemView;
    }
 @Override
 protected void onStop() {
   super.onStop();
   /// M: Code analyze 009, fix bug ALPS00335430, should close in lockscreen @{
   /**
    * M: when this activity is invisiable, it should exit. though it has nohistory property, lock
    * screen is an exception. so we must destory this activity in onStop.
    */
   finish();
   /// @}
   if ((null != mSmilPlayer)) {
     if (isFinishing()) {
       mSmilPlayer.stop();
       if (mSlideView != null) {
         mSlideView.clearImageView();
       }
     } else {
       mSmilPlayer.stopWhenReload();
     }
     if (mMediaController != null) {
       // Must set the seek bar change listener null, otherwise if we rotate it
       // while tapping progress bar continuously, window will leak.
       View seekBar =
           mMediaController.findViewById(com.android.internal.R.id.mediacontroller_progress);
       if (seekBar instanceof SeekBar) {
         ((SeekBar) seekBar).setOnSeekBarChangeListener(null);
       }
       // Must do this so we don't leak a window.
       mMediaController.hide();
     }
   }
   /// M: Code analyze 003, fix bug ALPS00119632, present slide return
   /// (mActivityRunning=false) when SlideshowActivity stop @{
   if (mPresenter != null) {
     mPresenter.onStop();
     mPresenter = null;
   }
   /// @}
 }