package com.zcy.ghost.vivideo.ui.view;
import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import com.ogaclejapan.smarttablayout.SmartTabLayout;
import com.ogaclejapan.smarttablayout.utils.v4.FragmentPagerItemAdapter;
import com.ogaclejapan.smarttablayout.utils.v4.FragmentPagerItems;
import com.zcy.ghost.vivideo.R;
import com.zcy.ghost.vivideo.base.RootView;
import com.zcy.ghost.vivideo.component.ImageLoader;
import com.zcy.ghost.vivideo.model.bean.VideoRes;
import com.zcy.ghost.vivideo.presenter.contract.VideoInfoContract;
import com.zcy.ghost.vivideo.ui.activitys.VideoInfoActivity;
import com.zcy.ghost.vivideo.ui.fragments.VideoCommentFragment;
import com.zcy.ghost.vivideo.ui.fragments.VideoIntroFragment;
import com.zcy.ghost.vivideo.utils.EventUtil;
import com.zcy.ghost.vivideo.utils.Preconditions;
import com.zcy.ghost.vivideo.widget.LVGhost;
import com.zcy.ghost.vivideo.widget.SwipeViewPager;
import com.zcy.ghost.vivideo.widget.theme.ColorTextView;
import butterknife.BindView;
import butterknife.OnClick;
import fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard;
/**
* Description: VideoInfoView
* Creator: yxc
* date: 2016/9/21 15:54
*/
public class VideoInfoView extends RootView<VideoInfoContract.Presenter> implements VideoInfoContract.View {
@BindView(R.id.iv_collect)
ImageView ivCollect;
@BindView(R.id.videoplayer)
JCVideoPlayerStandard videoplayer;
@BindView(R.id.title_name)
ColorTextView mTitleName;
@BindView(R.id.viewpagertab)
SmartTabLayout mViewpagertab;
@BindView(R.id.viewpager)
SwipeViewPager mViewpager;
@BindView(R.id.circle_loading)
LVGhost mLoading;
@BindView(R.id.rl_collect)
RelativeLayout rlCollect;
VideoRes videoRes;
private Animation animation;
public VideoInfoView(Context context) {
super(context);
}
public VideoInfoView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void getLayout() {
inflate(mContext, R.layout.activity_video_info_view, this);
}
@Override
protected void initView() {
animation = AnimationUtils.loadAnimation(mContext, R.anim.view_hand);
rlCollect.setVisibility(View.VISIBLE);
FragmentPagerItemAdapter adapter = new FragmentPagerItemAdapter(
((VideoInfoActivity) mContext).getSupportFragmentManager(), FragmentPagerItems.with(mContext)
.add(R.string.video_intro, VideoIntroFragment.class)
.add(R.string.video_comment, VideoCommentFragment.class)
.create());
mViewpager.setAdapter(adapter);
mViewpagertab.setViewPager(mViewpager);
videoplayer.thumbImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
videoplayer.backButton.setVisibility(View.GONE);
videoplayer.titleTextView.setVisibility(View.GONE);
videoplayer.tinyBackImageView.setVisibility(View.GONE);
}
@Override
protected void initEvent() {
}
@OnClick(R.id.rl_back)
public void back() {
if (mContext instanceof VideoInfoActivity) {
((VideoInfoActivity) mContext).finish();
}
}
@Override
public boolean isActive() {
return mActive;
}
@Override
public void hidLoading() {
mLoading.setVisibility(View.GONE);
}
@Override
public void collected() {
ivCollect.setBackgroundResource(R.mipmap.collection_select);
}
@Override
public void disCollect() {
ivCollect.setBackgroundResource(R.mipmap.collection);
}
@Override
public void setPresenter(VideoInfoContract.Presenter presenter) {
mPresenter = Preconditions.checkNotNull(presenter);
}
@Override
public void showError(String msg) {
EventUtil.showToast(mContext, msg);
}
@Override
public void showContent(VideoRes videoRes) {
this.videoRes = videoRes;
mTitleName.setText(videoRes.title);
if (!TextUtils.isEmpty(videoRes.pic))
ImageLoader.load(mContext, videoRes.pic, videoplayer.thumbImageView);
if (!TextUtils.isEmpty(videoRes.getVideoUrl())) {
videoplayer.setUp(videoRes.getVideoUrl()
, JCVideoPlayerStandard.SCREEN_LAYOUT_LIST, videoRes.title);
videoplayer.onClick(videoplayer.thumbImageView);
}
}
@OnClick(R.id.rl_collect)
public void onClick() {
if (videoRes != null) {
ivCollect.startAnimation(animation);
mPresenter.collect();
}
}
}