package com.weikou.beibeivideo.ui.media;
|
|
import android.graphics.Bitmap;
|
import android.os.Bundle;
|
import android.os.Handler;
|
import android.support.v4.app.Fragment;
|
import android.support.v4.view.ViewPager;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.TextView;
|
|
import com.lcjian.library.util.SingleToast;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.umeng.analytics.MobclickAgent;
|
import com.viewpagerindicator.LxyPageIndicator;
|
import com.weikou.beibeivideo.entity.PushEpisode;
|
import com.weikou.beibeivideo.entity.VideoDetailInfo;
|
import com.weikou.beibeivideo.entity.VideoInfo;
|
import com.weikou.beibeivideo.entity.VideoResource;
|
import com.weikou.beibeivideo.R;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import de.greenrobot.event.EventBus;
|
|
/**
|
* 视频详情
|
*
|
* @author Administrator
|
*/
|
public class VideoDetailFragment extends Fragment {
|
|
private VideoInfo mVideoInfo;
|
|
private int mPlayingPosition = 0;
|
|
VideoEpisodeFragment videoEpisodeFragment;
|
|
private View view;
|
|
|
public static DisplayImageOptions option = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.from_other)
|
.showImageOnFail(R.drawable.from_other)
|
.showImageOnLoading(R.drawable.from_other)
|
.resetViewBeforeLoading(false) // default
|
.cacheInMemory(true) // default
|
.cacheOnDisk(true) // default
|
.considerExifParams(false) // default
|
.imageScaleType(ImageScaleType.EXACTLY) // default
|
.bitmapConfig(Bitmap.Config.ARGB_8888) // default
|
.handler(new Handler()) // default
|
.build();
|
|
@Override
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
Bundle savedInstanceState) {
|
View view = inflater.inflate(R.layout.video_detail_fragment, container,
|
false);
|
this.view = view;
|
if (getArguments() != null)
|
mPlayingPosition = getArguments().getInt("playing_position", 0);
|
|
if(getArguments()!=null)
|
getArguments().clear();
|
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("播放详情页——小屏播放");
|
}
|
|
List<VideoResource> urlList;
|
VideoResource selectedUrl = null;
|
|
private void setFrom(VideoInfo info) {
|
if (urlList == null)
|
urlList = new ArrayList<VideoResource>();
|
urlList.clear();
|
for (int i = 0; i < info.getResourceList().size(); i++) {
|
if (info.getResourceList().get(i).isChecked()) {
|
selectedUrl = info.getResourceList().get(i);
|
}
|
}
|
EventBus.getDefault().post(selectedUrl);
|
view.postDelayed(new Runnable() {
|
|
@Override
|
public void run() {
|
EventBus.getDefault().post(selectedUrl);
|
}
|
}, 1000);
|
urlList.addAll(info.getResourceList());
|
}
|
|
|
public void onEventMainThread(VideoInfo videoInfo) {
|
|
mVideoInfo = videoInfo;
|
setFrom(videoInfo);
|
|
videoEpisodeFragment = new VideoEpisodeFragment();
|
Bundle bundle = new Bundle();
|
bundle.putSerializable("video_info", mVideoInfo);
|
bundle.putInt("playing_position", mPlayingPosition);
|
videoEpisodeFragment.setArguments(bundle);
|
getChildFragmentManager().beginTransaction().add(R.id.fl_add_container, videoEpisodeFragment, "VideoEpisodeFragment").commitAllowingStateLoss();
|
|
}
|
|
VideoDetailInfo mVideoDetailInfo;
|
|
public void onEventMainThread(VideoDetailInfo videoDetailInfo) {
|
mVideoDetailInfo = 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 == 0 || mPlayingPosition != playingPosition) {
|
mPlayingPosition = playingPosition;
|
PushEpisode info = new PushEpisode();
|
info.setEpisodeNum(playingPosition);
|
EventBus.getDefault().post(info);
|
}
|
}
|
|
@Override
|
public void onDestroyView() {
|
super.onDestroyView();
|
}
|
|
@Override
|
public void onActivityCreated(Bundle savedInstanceState) {
|
super.onActivityCreated(savedInstanceState);
|
}
|
|
|
}
|