//package com.wasu.cs.widget; // //import java.util.ArrayList; //import java.util.List; // //import android.content.Context; //import android.graphics.Color; //import android.media.MediaPlayer; //import android.text.TextUtils; //import android.view.LayoutInflater; //import android.view.View; //import android.widget.ImageView; //import android.widget.RelativeLayout; //import cn.com.wasu.main.R; // //import com.wasu.comp.videoview.IMediaListener; //import com.wasu.comp.videoview.UrlProperty; //import com.wasu.cs.model.DemandProgram; //import com.wasu.cs.model.HomeColumnModel; //import com.wasu.cs.model.SpecialColumnModel.AssetModel; //import com.wasu.cs.model.SpecialColumnModel.TagModel; //import com.wasu.cs.model.SpecialColumnModel.VideoModel; //import com.wasu.cs.widget.mediacontrol.MediaController; //import com.wasu.cs.widget.videoview.WasuPlayerView; //import com.wasu.module.image.ImageFetcherModule; //import com.wasu.module.msgqueue.MsgHandler; //import com.wasu.module.msgqueue.MsgIdConstant; //import com.wasu.module.msgqueue.MsgQueueModule; //import com.wasu.util.StringUtils; // ////import android.widget.VideoView; // ///** // * // * @ClassName: MainHPageItem22 // * @Description: 内容区视频播放小窗口的Item // * @author 海迪 // * @date 2015年7月8日 下午6:26:55 // * // */ //public class MainHPageItemVideo extends MainHPageItemBase implements Runnable, IMediaListener, MsgHandler { // // private static final int ACTION_IDLE = 1 << 0; // private static final int ACTION_PLAY = 1 << 1; // private static final int ACTION_PREPARE = 1 << 2; // private static final int ACTION_PAUSE = 1 << 3; // private static final int ACTION_RESUME = 1 << 4; // private static final int ACTION_STOP = 1 << 5; // // private String layout; // private String jsonUrl; // // private String firstImgUrl; // private int mCurrentIndex = 0; // private double mCurrentPostion = -1; // // private RelativeLayout mContainer,videoContainer = null; // private ImageView mIconPlay = null; // private ImageView contFirstImgView; // private WasuPlayerView mVideoView; // // private ArrayList mAssetList = null; // private int mCurrentStatus = ACTION_IDLE; // private int mTargetStatus = ACTION_IDLE; // private Context context; // private DemandProgram mDemandInfo; // private String mDomain; // // public MainHPageItemVideo(Context context) { // super(context); // this.context = context; // init(context); // } // // private void initVideo() { // mVideoView = new WasuPlayerView(context, ""); // mVideoView.setExcludeOption(MediaController.DISPLAY_PROMPT_EXIT_AD); // mVideoView.addObserver(this); // mVideoView.setAnchorView(videoContainer); // // } // // // // private void init(Context context) { // LayoutInflater.from(context).inflate(R.layout.main_hpage_item_video, this); // setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); // // mContainer = (RelativeLayout) findViewById(R.id.item_box); // mContainer.setBackgroundColor(Color.TRANSPARENT); // contFirstImgView = (ImageView) findViewById(R.id.cont_first_img); // mIconPlay = (ImageView) findViewById(R.id.cont_status_icon); // videoContainer= (RelativeLayout) findViewById(R.id.video_container); // // mVideoView = new WasuCompFactory().createVideoView(context); // // /** revise by duhuanbiao, 某些盒子底层videoView会把覆盖在上层的圆角切掉,所以预留4个像素显示圆角 **/ //// RelativeLayout.LayoutParams layoutParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); //// int magin = getResources().getDimensionPixelSize(R.dimen.d_4dp); //// layoutParam.setMargins(magin, magin, magin, magin); // // mVideoView.addObserver(this); // //// mContainer.addView(mVideoView, 0, layoutParam); // initVideo(); // // MsgQueueModule.getInstance().addMsgHandler(MsgIdConstant.MSGID_APP_MIN + 1, this); // } // // @Override // public boolean handleMsg(int arg0, int arg1, String arg2, Object arg3) { // if (arg3 != null && arg3 instanceof AssetModel) { // AssetModel assetModel = (AssetModel) arg3; // if (mAssetList != null && !mAssetList.isEmpty()) { // int count = mAssetList.size(); // for (int i = 0; i < count; i++) { // if (assetModel.getId() == mAssetList.get(i).getId()) { // mCurrentIndex = i; // mCurrentPostion = assetModel.getCurrentPosition(); // } // } // } // } // return true; // } // // @Override // public void onClick(View v) { // mVideoView.toggleFullScreen(); // // if (mVideoView.isPlaying() && mAssetList.size() > 0) { // // double position = mVideoView.getCurrentPosition(); // // mAssetList.get(mCurrentIndex).setCurrentPosition(position); // // // // Intent intent = new Intent(); // // intent.putParcelableArrayListExtra(IntentConstant.PLAY_INFO.value(), // // mAssetList); // // intent.putExtra(IntentConstant.PLAY_INDEX.value(), mCurrentIndex); // // IntentMap.startIntent(getContext(), intent, getLayout(), // // getJsonUrl(), null); // // } // } // // @Override // protected void onWindowVisibilityChanged(int visibility) { // super.onWindowVisibilityChanged(visibility); // // if (ACTION_IDLE == mCurrentStatus || ACTION_PAUSE == mCurrentStatus) { // return; // } // if (View.VISIBLE == visibility) { // if (ACTION_STOP == mCurrentStatus) { // mTargetStatus = ACTION_PLAY; // post(this); // } // } else { // mTargetStatus = ACTION_STOP; // post(this); // } // } // // /** // * 改变播放状态 // * // * @param isChange // */ // public void changeStatus(boolean isChange) { // if (ACTION_IDLE == mCurrentStatus) { // return; // } // // if (isChange) { // mTargetStatus = ACTION_RESUME; // postDelayed(this, 1000); // } else { // mTargetStatus = ACTION_PAUSE; // post(this); // } // } // // /** // * 检测视频窗口被覆盖并处理 // */ // public void detect() { // changeStatus(!isCover()); // } // // @Override // public void focusChange(View v, boolean hasFocus) { // if (hasFocus) { // mContainer.setBackgroundResource(R.drawable.tv_select_focus); // if (ACTION_IDLE == mCurrentStatus) { // mTargetStatus = ACTION_PLAY; // mContainer.postDelayed(this, 3000); // } // } else { // mContainer.setBackgroundResource(0); // if (ACTION_IDLE == mCurrentStatus) { // mTargetStatus = ACTION_IDLE; // } else if (ACTION_PREPARE == mCurrentStatus) { // mTargetStatus = ACTION_PAUSE; // } // } // } // // @Override // public String getLayout() { // return layout; // } // // @Override // public String getJsonUrl() { // return jsonUrl; // } // // @Override // public int getRowspan() { // 行 // return 2; // } // // @Override // public int getColspan() { // 列 // return 2; // } // // @Override // public boolean isFrontItem() { // return false; // } // // @Override // public boolean isVideoItem() { // return true; // } // // private HomeColumnModel cm; // // @Override // public HomeColumnModel getData() { // return cm; // } // // @Override // public void initData(HomeColumnModel cm) { // this.cm = cm; // // if (cm == null) // return; // // layout = cm.getLayout(); // jsonUrl = cm.getJsonUrl(); // if (cm.getPicUrlList().size() > 0) { // firstImgUrl = cm.getPicUrlList().get(0).getBottomPic(); // } // // if (contFirstImgView != null && !StringUtils.isBlank(firstImgUrl)) { // contFirstImgView.setVisibility(View.VISIBLE); // ImageFetcherModule.getInstance().attachImage(firstImgUrl, contFirstImgView, getResources().getDimensionPixelSize(R.dimen.d_8dp)); // } // // mAssetList = cm.getAssetList(); // } // // private String getPlayUrl(int rate) { // if (mAssetList == null || mAssetList.isEmpty()) { // return null; // } // // if (mCurrentIndex < 0 || mCurrentIndex >= mAssetList.size()) { // mCurrentIndex = 0; // } // AssetModel assetModel = mAssetList.get(mCurrentIndex); // List tagModels = assetModel.getTagList(); // if (tagModels.size() < 1) { // mCurrentIndex += 1; // return getPlayUrl(rate); // } // // List videoModels = null; // for (TagModel tagModel : tagModels) { // // if (tagModel.getRate() != rate) { // // continue; // // } // // videoModels = tagModel.getVideoList(); // if (videoModels != null && videoModels.size() > 0 && videoModels.get(0).getPlayUrls().size() > 0) { // return videoModels.get(0).getPlayUrls().get(0); // } // } // return null; // } // // @Override // public void run() { // if (mVideoView == null) { // return; // } // // if (ACTION_PLAY == mTargetStatus) { // mTargetStatus = ACTION_IDLE; // String playUrl = getPlayUrl(640000); // if (TextUtils.isEmpty(playUrl)) { // return; // } // // mVideoView.setVideoPath(playUrl, new UrlProperty()); // mVideoView.seekTo((int) mCurrentPostion); // mCurrentStatus = ACTION_PREPARE; // mVideoView.start(); // } else if (ACTION_PAUSE == mTargetStatus) { // if (mVideoView.isPlaying()) { // mTargetStatus = ACTION_IDLE; // mCurrentStatus = ACTION_PAUSE; // mCurrentPostion = mVideoView.getCurrentPosition(); // contFirstImgView.setVisibility(View.VISIBLE); // mVideoView.pause(); // } // } else if (ACTION_RESUME == mTargetStatus) { // mTargetStatus = ACTION_IDLE; // if (!isCover()) { // mVideoView.start(); // mCurrentStatus = ACTION_PLAY; // } // } else if (ACTION_STOP == mTargetStatus) { // mCurrentStatus = ACTION_STOP; // mTargetStatus = ACTION_IDLE; // contFirstImgView.setVisibility(View.VISIBLE); // mVideoView.stopPlayback(); // } // } // // @Override // public void onWasuPlayLimit(int arg0, String arg1) { // } // // @Override // public void onWasuError(int arg0, String arg1) { // } // // @Override // public void onStop(MediaPlayer arg0) { // } // // @Override // public void onStatusChanged(MediaPlayer arg0, int arg1) { // if (IMediaListener.STATE_PLAYING == arg1) { // contFirstImgView.setVisibility(View.GONE); // mIconPlay.setVisibility(View.GONE); // } // } // // @Override // public void onStart(MediaPlayer arg0) { // } // // @Override // public void onSeeking(MediaPlayer arg0) { // } // // @Override // public void onSeekComplete(MediaPlayer arg0) { // } // // @Override // public void onResume(MediaPlayer arg0) { // } // // @Override // public void onProgress(int arg0, int arg1, int arg2) { // mCurrentPostion = arg0; // } // // @Override // public void onPreparing(MediaPlayer arg0) { // } // // @Override // public void onPrepareComplete(MediaPlayer arg0) { // if (ACTION_PAUSE == mTargetStatus) { // post(this); // return; // } // // if (ACTION_PREPARE == mCurrentStatus) { // mCurrentStatus = ACTION_PLAY; // if (mCurrentPostion > 0) { // contFirstImgView.setVisibility(View.VISIBLE); // mVideoView.seekTo((int) mCurrentPostion); // mCurrentPostion = 0; // return; // } // } // } // // @Override // public void onPause(MediaPlayer arg0) { // } // // @Override // public void onInfo(MediaPlayer arg0, int arg1, int arg2) { // } // // @Override // public void onError(MediaPlayer arg0, int arg1, int arg2) { // } // // @Override // public void onCompletion(MediaPlayer arg0) { // mCurrentIndex += 1; // mCurrentPostion = 0; // mTargetStatus = ACTION_PLAY; // mContainer.post(MainHPageItemVideo.this); // } // // @Override // public void onAdStatusChanged(int arg0, int arg1) { // } // // @Override // public boolean isAliRecItem() { // // TODO Auto-generated method stub // return false; // } // //}