package com.yeshi.video.ui;
|
|
import android.app.Dialog;
|
import android.content.DialogInterface;
|
import android.os.Bundle;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.view.WindowManager;
|
import android.widget.AdapterView;
|
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.GridView;
|
|
import com.lcjian.library.dialog.SlidingDialog;
|
import com.umeng.analytics.MobclickAgent;
|
import com.yeshi.base.entity.video.VideoDetailInfo;
|
import com.yeshi.base.entity.video.VideoInfo;
|
import com.yeshi.base.utils.video.VideoTypeUtil;
|
import com.yeshi.video.R;
|
import com.yeshi.video.ui.adapter.GridEpisodeAdapter2;
|
|
import androidx.fragment.app.DialogFragment;
|
import de.greenrobot.event.EventBus;
|
|
/**
|
* 全屏播放-选集页面
|
*
|
* @author weikou2015
|
*
|
*/
|
public class VideoEpisodeFragment2 extends DialogFragment {
|
|
private VideoInfo mVideoInfo;
|
|
private int mPlayingPosition;
|
|
private GridView gv_episode2;
|
|
public static VideoEpisodeFragment2 newInstance(VideoInfo videoInfo,
|
int playingPostion) {
|
VideoEpisodeFragment2 videoEpisodeFragment2 = new VideoEpisodeFragment2();
|
Bundle args = new Bundle();
|
args.putSerializable("video_info", videoInfo);
|
args.putInt("playing_position", playingPostion);
|
videoEpisodeFragment2.setArguments(args);
|
return videoEpisodeFragment2;
|
}
|
|
@Override
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
Dialog dialog = new SlidingDialog(getActivity());
|
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
return dialog;
|
}
|
|
@Override
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
Bundle savedInstanceState) {
|
mVideoInfo = (VideoInfo) getArguments().getSerializable("video_info");
|
mPlayingPosition = getArguments().getInt("playing_position");
|
|
View view = inflater.inflate(R.layout.video_episode_fragment2,
|
container, false);
|
gv_episode2 = (GridView) view.findViewById(R.id.gv_episode2);
|
if ((mVideoInfo.getVideoDetailList().size() == 1 && !VideoTypeUtil
|
.getVideoRootName(mVideoInfo.getVideoType()).equalsIgnoreCase(
|
"综艺"))
|
|| VideoTypeUtil.getVideoRootName(mVideoInfo.getVideoType())
|
.equalsIgnoreCase("综艺")) {
|
gv_episode2.setNumColumns(1);
|
}
|
|
if (mVideoInfo.getVideoDetailList() != null
|
&& !mVideoInfo.getVideoDetailList().isEmpty()) {
|
gv_episode2.setAdapter(new GridEpisodeAdapter2(mVideoInfo,
|
mPlayingPosition));
|
gv_episode2.setOnItemClickListener(new OnItemClickListener() {
|
|
@Override
|
public void onItemClick(AdapterView<?> parent, View view,
|
int position, long id) {
|
VideoDetailInfo videoDetailInfo = (VideoDetailInfo) parent
|
.getItemAtPosition(position);
|
EventBus.getDefault().post(videoDetailInfo);
|
try {
|
dismiss();
|
} catch (Exception e) {
|
|
}
|
}
|
});
|
} else {
|
gv_episode2.setVisibility(View.GONE);
|
}
|
return view;
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
EventBus.getDefault().register(this);
|
MobclickAgent.onPageStart("全屏播放—选集");
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
EventBus.getDefault().unregister(this);
|
MobclickAgent.onPageEnd("全屏播放—选集");
|
}
|
|
@Override
|
public void onDismiss(DialogInterface dialog) {
|
super.onDismiss(dialog);
|
EventBus.getDefault().post(new VideoPlayerFragment.PlayEvent());
|
}
|
|
public void onEventMainThread(VideoDetailInfo videoDetailInfo) {
|
int playingPosition = 0;
|
for (int i = 0; i < mVideoInfo.getVideoDetailList().size(); i++) {
|
if (videoDetailInfo.getId().equals(
|
mVideoInfo.getVideoDetailList().get(i).getId())) {
|
playingPosition = i;
|
break;
|
}
|
}
|
if (mPlayingPosition != playingPosition) {
|
mPlayingPosition = playingPosition;
|
((GridEpisodeAdapter2) gv_episode2.getAdapter())
|
.setPlayingPosition(mPlayingPosition);
|
((GridEpisodeAdapter2) gv_episode2.getAdapter())
|
.notifyDataSetChanged();
|
}
|
}
|
}
|