/*
* Copyright (c) 2015 [1076559197@qq.com | tchen0707@gmail.com]
*
* Licensed under the Apache License, Version 2.0 (the "License”);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.youku.player.plugin;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;
import com.baseproject.utils.Logger;
import com.baseproject.utils.UIUtils;
import com.baseproject.utils.Util;
import com.youdo.AdApplicationContext;
import com.youdo.AdManager;
import com.youdo.XAdSDKResource;
import com.youdo.ad.interfaces.IAdApplicationContext;
import com.youdo.ad.interfaces.IAdContants;
import com.youdo.ad.interfaces.IAdManager;
import com.youdo.events.IXYDEvent;
import com.youdo.events.IXYDEventListener;
import com.youku.player.ad.AdForward;
import com.youku.player.base.GoplayException;
import com.youku.player.base.Plantform;
import com.youku.player.base.YoukuBasePlayerActivity;
import com.youku.player.config.MediaPlayerConfiguration;
import com.youku.player.goplay.AdvInfo;
import com.youku.player.goplay.Profile;
import com.youku.player.goplay.Stat;
import com.youku.player.goplay.StaticsUtil;
import com.youku.player.goplay.VideoAdvInfo;
import com.youku.player.service.DisposableHttpTask;
import com.youku.player.ui.R;
import com.youku.player.ui.interf.IMediaPlayerDelegate;
import com.youku.player.util.DetailMessage;
import com.youku.player.util.DetailUtil;
import com.youku.player.util.DisposableStatsUtils;
public class PluginADPlay extends PluginOverlay implements DetailMessage {
LayoutInflater mLayoutInflater;
View containerView;
TextView endPage;
// TextView ad_more;
YoukuBasePlayerActivity mActivity;
IMediaPlayerDelegate mediaPlayerDelegate;
private TextView mCountUpdateTextView;
private ImageView mSwitchPlayer;
// youku控件
private LinearLayout mCountUpdateWrap;
// private TextView mAdSkip;
private LinearLayout mAdSkipBlank;
// 去详情的父view
private View mSwitchParent;
protected String TAG = "PluginADPlay";
private View seekLoadingContainerView;
private ImageButton play_adButton;
public static final int ADMORE_BACKGROUND_COLOR_YOUKU = 0xcc292929;
public static final int ADMORE_BACKGROUND_COLOR_TUDOU = 0xffff6600;
public static int sAdMoreBackgroundColor = ADMORE_BACKGROUND_COLOR_YOUKU;
private RelativeLayout mAdPageHolder = null;
// interactive ad
private static final int INTERACTIVE_AD_TIMEOUT = 5;//s
private RelativeLayout mInteractiveAdContainer = null;
private RelativeLayout mInteractiveAdGoFull;
private IAdApplicationContext mAdApplicationContext;
private IAdManager mAdManager = null;
private org.json.JSONObject mCurrentAdData;
private InteractiveAdListener mInteractiveAdListener = null;
private boolean isInteractiveAdShow = false;
private boolean isInteractiveAdHide = false;
private String mInteractiveAdVideoRs = null; //互动广告对应视频素材
public PluginADPlay(YoukuBasePlayerActivity context,
IMediaPlayerDelegate mediaPlayerDelegate) {
super(context, mediaPlayerDelegate);
this.mediaPlayerDelegate = mediaPlayerDelegate;
mActivity = context;
mLayoutInflater = LayoutInflater.from(context);
init(context);
}
private void init(Context context) {
if (Profile.PLANTFORM == Plantform.YOUKU) {
containerView = mLayoutInflater.inflate(
R.layout.yp_player_ad_youku, null);
} else {
containerView = mLayoutInflater.inflate(
R.layout.yp_player_ad_tudou, null);
}
addView(containerView);
mCountUpdateTextView = (TextView) containerView
.findViewById(R.id.my_ad_count);
if (Profile.PLANTFORM == Plantform.YOUKU) {
mAdPageHolder = (RelativeLayout) containerView
.findViewById(R.id.ad_page_holder);
mInteractiveAdContainer = (RelativeLayout) containerView
.findViewById(R.id.interactive_ad_container);
mInteractiveAdGoFull = (RelativeLayout) containerView
.findViewById(R.id.interactive_ad_gofull_layout);
mInteractiveAdGoFull.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
isInteractiveAdHide = false;
if (mAdApplicationContext != null) {
mAdApplicationContext.show();
}
mInteractiveAdGoFull.setVisibility(View.GONE);
mInteractiveAdContainer.setVisibility(View.VISIBLE);
if (mAdPageHolder != null) {
mAdPageHolder.setVisibility(View.GONE);
}
mActivity.goFullScreen();
mActivity.setOrientionDisable();
}
});
mCountUpdateWrap = (LinearLayout) containerView
.findViewById(R.id.my_ad_count_wrap);
mAdSkipBlank = (LinearLayout) containerView
.findViewById(R.id.my_ad_blank);
/* mAdSkip = (TextView) containerView.findViewById(R.id.my_ad_skip);
mAdSkip.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
Intent intent = new Intent();
intent.setClassName(mActivity.getPackageName(),
"com.youku.phone.vip.activity.VipProductActivity");
intent.putExtra("from", 1001);
intent.putExtra("isVip", false);
intent.putExtra("video_id",
mediaPlayerDelegate.videoInfo.getVid());
intent.putExtra("isFromLocal",
mediaPlayerDelegate.videoInfo.playType
.equals(StaticsUtil.PLAY_TYPE_LOCAL));
intent.putExtra("playlist_id",
mediaPlayerDelegate.videoInfo.playlistId);
mActivity.startActivity(intent);
} catch (Exception e) {
} finally {
mActivity.finish();
}
}
});*/
}
mSwitchPlayer = (ImageView) containerView
.findViewById(R.id.gofullscreen);
mSwitchParent = containerView.findViewById(R.id.gofulllayout);
/* ad_more = (TextView) containerView.findViewById(R.id.ad_more);
ad_more.setBackgroundColor(sAdMoreBackgroundColor);*/
play_adButton = (ImageButton) containerView
.findViewById(R.id.ib_detail_play_control_ad_play);
play_adButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (Util.hasInternet()
&& !Util.isWifi()
&& !PreferenceManager.getDefaultSharedPreferences(
mActivity).getBoolean("allowONline3G", true)) {
Toast.makeText(mActivity, "请设置3g/2g允许播放", Toast.LENGTH_SHORT)
.show();
return;
}
startPlay();
play_adButton.setVisibility(View.GONE);
}
});
mSwitchParent.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayerDelegate.isFullScreen) {
mActivity.goSmall();
if (Profile.PLANTFORM == Plantform.TUDOU) {
mSwitchPlayer
.setImageResource(R.drawable.plugin_ad_gofull_tudou);
} else {
mSwitchPlayer
.setImageResource(R.drawable.plugin_ad_gofull_youku);
}
} else {
mActivity.goFullScreen();
if (Profile.PLANTFORM == Plantform.TUDOU) {
mSwitchPlayer
.setImageResource(R.drawable.plugin_ad_gosmall_tudou);
} else {
mSwitchPlayer
.setImageResource(R.drawable.plugin_ad_gosmall_youku);
}
}
}
});
seekLoadingContainerView = containerView
.findViewById(R.id.seek_loading_bg);
initSeekLoading();
}
private void startPlay() {
if (null == mMediaPlayerDelegate)
return;
if (!mMediaPlayerDelegate.isAdvShowFinished()) {
((YoukuBasePlayerActivity) mActivity).startPlay();
} else {
mMediaPlayerDelegate.start();
}
}
@Override
public void onBufferingUpdateListener(int percent) {
}
@Override
public void onCompletionListener() {
}
@Override
public boolean onErrorListener(int what, int extra) {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
containerView.setVisibility(View.GONE);
}
});
return false;
}
@Override
public void OnPreparedListener() {
}
@Override
public void OnSeekCompleteListener() {
}
@Override
public void OnVideoSizeChangedListener(int width, int height) {
}
@Override
public void OnTimeoutListener() {
}
@Override
public void OnCurrentPositionChangeListener(int currentPosition) {
}
@Override
public void onLoadedListener() {
((Activity) mActivity).runOnUiThread(new Runnable() {
@Override
public void run() {
play_adButton.setVisibility(View.GONE);
hideLoading();
}
});
}
@Override
public void onLoadingListener() {
((Activity) mActivity).runOnUiThread(new Runnable() {
@Override
public void run() {
showLoading();
}
});
}
@Override
public void onUp() {
}
@Override
public void onDown() {
}
@Override
public void onFavor() {
}
@Override
public void onUnFavor() {
}
@Override
public void newVideo() {
}
@Override
public void onVolumnUp() {
}
@Override
public void onVolumnDown() {
}
@Override
public void onMute(boolean mute) {
}
@Override
public void onVideoChange() {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mCountUpdateTextView.setText("");
play_adButton.setVisibility(View.GONE);
mSwitchPlayer.setVisibility(View.GONE);
// ad_more.setVisibility(View.GONE);
mSwitchParent.setVisibility(View.GONE);
if (Profile.PLANTFORM == Plantform.YOUKU) {
// mAdSkip.setVisibility(View.GONE);
mAdSkipBlank.setVisibility(View.GONE);
mCountUpdateWrap.setVisibility(View.GONE);
}
}
});
}
boolean isADPluginShowing = false;
@Override
public void onVideoInfoGetting() {
if (isADPluginShowing) {
/*
Track.onError(mActivity, mediaPlayerDelegate.nowVid,
Profile.GUID, mediaPlayerDelegate.videoInfo.playType,
PlayCode.VIDEO_ADV_RETURN);
*/
mActivity.interuptAD();
}
}
@Override
public void onVideoInfoGetted() {
}
@Override
public void onVideoInfoGetFail(boolean needRetry) {
}
@Override
public void setVisible(boolean visible) {
if (visible) {
isADPluginShowing = true;
containerView.setVisibility(View.VISIBLE);
} else {
isADPluginShowing = false;
containerView.setVisibility(View.GONE);
}
}
public void notifyUpdate(int count) {
if (count <= 0) {
mCountUpdateTextView.setText("");
mCountUpdateTextView.setVisibility(View.GONE);
if (Profile.PLANTFORM == Plantform.YOUKU) {
mCountUpdateWrap.setVisibility(View.GONE);
}
return;
}
if (mCountUpdateTextView != null) {
if (Profile.PLANTFORM != Plantform.YOUKU) {
StringBuilder mytext = new StringBuilder("广告剩余时间");
mytext.append(count).append("秒");
mCountUpdateTextView.setText(mytext);
mCountUpdateTextView.setVisibility(View.VISIBLE);
} else {
String str = String.valueOf(count);
mCountUpdateTextView.setText(str);
mCountUpdateTextView.setVisibility(View.VISIBLE);
mCountUpdateWrap.setVisibility(View.VISIBLE);
}
}
int visibility = mediaPlayerDelegate.isPlayLocalType() ? View.GONE : View.VISIBLE;
// TODO:要保持“广告剩余时间”和“全屏”,“详细了解”的同步显示,需要把三者处理显示的时机要一致。
// 目前onStartPlayAD中没有倒计时的参数,故暂时放在这里处理。这些应该在onStartPlayAD方法中处理。
mSwitchParent.setVisibility(visibility);
mSwitchPlayer.setVisibility(visibility);
if (mediaPlayerDelegate.videoInfo.videoAdvInfo != null) {
AdvInfo advInfo = getAdvInfo();
if (advInfo == null) {
Logger.e("PlayFlow", "PlugiADPlay->notifyUpdate advInfo = null, return");
return;
}
/* if (TextUtils.isEmpty(advInfo.CU)) {
ad_more.setVisibility(View.GONE);
} else {
if (AdForward.YOUKU_VIDEO == advInfo.CUF) {
ad_more.setText(R.string.playersdk_ad_descrip_play_youku);
} else {
ad_more.setText(R.string.playersdk_ad_descrip_youku);
}
ad_more.setVisibility(View.VISIBLE);
}*/
}
}
@Override
public void onPluginAdded() {
super.onPluginAdded();
if (mediaPlayerDelegate.isFullScreen) {
if (Profile.PLANTFORM == Plantform.TUDOU) {
mSwitchPlayer
.setImageResource(R.drawable.plugin_ad_gosmall_tudou);
} else {
mSwitchPlayer.setImageResource(R.drawable.plugin_ad_gosmall_youku);
}
} else {
if (Profile.PLANTFORM == Plantform.TUDOU) {
mSwitchPlayer
.setImageResource(R.drawable.plugin_ad_gofull_tudou);
} else {
mSwitchPlayer.setImageResource(R.drawable.plugin_ad_gofull_youku);
}
}
if (mediaPlayerDelegate.videoInfo.videoAdvInfo != null) {
final VideoAdvInfo adInfo = mediaPlayerDelegate.videoInfo.videoAdvInfo;
/* ad_more.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (adInfo.VAL.size() <= 0) {
return;
}
AdvInfo advInfo = adInfo.VAL.get(0);
if (advInfo == null) {
return;
}
String url = advInfo.CU;
Logger.e("PlayFlow", "点击url-->" + url);
if (url == null || TextUtils.getTrimmedLength(url) <= 0) {
return;
}
DisposableStatsUtils.disposeCUM(advInfo);
new AdvClickProcessor().processAdvClick(mActivity, url, advInfo.CUF);
}
});*/
}
if (UIUtils.hasKitKat()) {
mActivity.hideSystemUI(this);
}
mActivity.setPluginHolderPaddingZero();
}
/**
* 获取广告信息
*
* @return
*/
private AdvInfo getAdvInfo() {
try {
return mediaPlayerDelegate.videoInfo.videoAdvInfo.VAL.get(0);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 发送广告统计信息
*
* @param stat
*/
private void sendStat(Stat stat) {
new DisposableHttpTask(stat.U).start();
}
private void initSeekLoading() {
if (null == seekLoadingContainerView)
return;
playLoadingBar = (SeekBar) seekLoadingContainerView
.findViewById(R.id.loading_seekbar);
if (null != playLoadingBar)
playLoadingBar
.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
if (fromUser) {
//Track.setTrackPlayLoading(false);
return;
} else {
seekBar.setProgress(progress);
}
}
});
}
private int seekcount = 0;
public void showLoading() {
if (null != seekLoadingContainerView) {
if (seekLoadingContainerView.getVisibility() == View.GONE) {
seekLoadingContainerView.setVisibility(View.VISIBLE);
seekcount = 0;
seekHandler.sendEmptyMessageDelayed(0, 50);
}
if (null != mMediaPlayerDelegate
&& mMediaPlayerDelegate.getCurrentPosition() > 1000) {
seekendHandler.sendEmptyMessageDelayed(0, 50);
seekLoadingContainerView.setBackgroundResource(0);
} else {
seekLoadingContainerView
.setBackgroundResource(R.drawable.bg_play);
}
}
}
public void hideLoading() {
((Activity) mActivity).runOnUiThread(new Runnable() {
@Override
public void run() {
if (null != seekLoadingContainerView) {
seekLoadingContainerView.setVisibility(View.GONE);
playLoadingBar.setProgress(0);
}
if (null != seekHandler)
seekHandler.removeCallbacksAndMessages(null);
}
});
}
private Handler seekHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (seekcount < 50) {
seekcount++;
playLoadingBar.setProgress(seekcount);
Thread temp = new Thread(new Runnable() {
@Override
public void run() {
seekHandler.sendEmptyMessageDelayed(0, 50);
}
});
temp.run();
} else {
playLoadingBar.setProgress(50);
}
}
};
private SeekBar playLoadingBar;
private Handler seekendHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (seekcount < 100) {
seekcount++;
playLoadingBar.setProgress(seekcount);
Thread temp = new Thread(new Runnable() {
@Override
public void run() {
seekHandler.sendEmptyMessageDelayed(0, 10);
}
});
temp.run();
}
}
};
@Override
public void onNotifyChangeVideoQuality() {
}
@Override
public void onRealVideoStart() {
}
@Override
public void onADplaying() {
}
@Override
public void onRealVideoStarted() {
}
@Override
public void onStart() {
}
@Override
public void onClearUpDownFav() {
}
@Override
public void onPause() {
}
public void showPlayIcon() {
play_adButton.setVisibility(View.VISIBLE);
}
@Override
public void back() {
}
@Override
public void onPlayNoRightVideo(GoplayException e) {
// TODO Auto-generated method stub
}
@Override
public void onPlayReleateNoRightVideo() {
// TODO Auto-generated method stub
}
public static void setAdMoreBackgroundColor(boolean isTudouPlatform) {
if (isTudouPlatform) {
sAdMoreBackgroundColor = ADMORE_BACKGROUND_COLOR_TUDOU;
return;
}
sAdMoreBackgroundColor = ADMORE_BACKGROUND_COLOR_YOUKU;
}
public boolean isCountUpdateVisible() {
if (mCountUpdateTextView != null) {
return mCountUpdateTextView.getVisibility() == View.VISIBLE ? true
: false;
}
return false;
}
public void setSkipVisible(boolean visible) {
/* if (MediaPlayerConfiguration.getInstance().showSkipAdButton() && mAdSkip != null) {
mAdSkip.setVisibility(visible ? View.VISIBLE : View.GONE);
if (mAdSkipBlank != null) {
mAdSkipBlank.setVisibility(visible ? View.VISIBLE : View.GONE);
}
}*/
}
/**
* 互动广告
*
* @return
*/
public void startInteractiveAd(String brs, int count) {
if (brs == null || brs.equalsIgnoreCase("")
|| mInteractiveAdContainer == null) {
return;
}
if (mAdManager == null) {
mAdManager = new AdManager();
}
mAdManager.setLocation(DetailUtil.getLocation(mActivity));
mAdApplicationContext = mAdManager.getAdApplicationContext();
// (REQUIRED) the container which used to host the html5 ad.
mInteractiveAdContainer.removeAllViews();
mAdApplicationContext
.setWMHtml5AdViewContainer(mInteractiveAdContainer);
// (REQUIRED)
mAdApplicationContext.setActivity(mActivity);
setInteractiveAdResource();
// (REQUIRED)
setupInteractiveAdData(brs, count);
mAdApplicationContext.setAdData(mCurrentAdData);
mAdApplicationContext.setTimeout(INTERACTIVE_AD_TIMEOUT);
// (REQUIRED) register observer
if (mInteractiveAdListener == null) {
mInteractiveAdListener = new InteractiveAdListener();
}
mAdApplicationContext.addEventListener(
IAdApplicationContext.AD_PREPARED, mInteractiveAdListener);
mAdApplicationContext.addEventListener(IAdApplicationContext.AD_STOPED,
mInteractiveAdListener);
mAdApplicationContext.addEventListener(IAdApplicationContext.AD_ERROR,
mInteractiveAdListener);
mAdApplicationContext.addEventListener(
IAdApplicationContext.AD_VIEW_MODE_CHANGE,
mInteractiveAdListener);
mAdApplicationContext.addEventListener(
IAdApplicationContext.VIDEO_PAUSE, mInteractiveAdListener);
mAdApplicationContext.addEventListener(
IAdApplicationContext.VIDEO_RESUME, mInteractiveAdListener);
if (mediaPlayerDelegate.videoInfo != null
&& mediaPlayerDelegate.videoInfo.getCurrentAdvInfo() != null) {
mInteractiveAdVideoRs = mediaPlayerDelegate.videoInfo
.getCurrentAdvInfo().RS;
}
try {
mAdApplicationContext.load();
} catch (Exception e) {
}
isInteractiveAdHide = false;
}
public void closeInteractiveAd() {
if (isInteractiveAdShow) {
if (mAdApplicationContext != null) {
mAdApplicationContext.removeAllListeners();
}
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
if (mInteractiveAdContainer != null) {
mInteractiveAdContainer.removeAllViews();
mInteractiveAdContainer.setVisibility(View.GONE);
}
if (mAdPageHolder != null) {
mAdPageHolder.setVisibility(View.VISIBLE);
}
mInteractiveAdGoFull.setVisibility(View.GONE);
}
});
isInteractiveAdShow = false;
isInteractiveAdHide = false;
if ((mediaPlayerDelegate.videoInfo != null && !StaticsUtil.PLAY_TYPE_LOCAL
.equals(mediaPlayerDelegate.videoInfo.getPlayType()))) {
mActivity.setOrientionEnable();
}
}
}
public void closeInteractiveAdNotIcludeUI() {
if (isInteractiveAdShow) {
if (mAdApplicationContext != null) {
mAdApplicationContext.removeAllListeners();
}
isInteractiveAdShow = false;
isInteractiveAdHide = false;
if ((mediaPlayerDelegate.videoInfo != null && !StaticsUtil.PLAY_TYPE_LOCAL
.equals(mediaPlayerDelegate.videoInfo.getPlayType()))) {
mActivity.setOrientionEnable();
}
}
}
private class InteractiveAdListener implements IXYDEventListener {
@Override
public void run(IXYDEvent arg0) {
String type = arg0.getType();
if (type.equals(AdApplicationContext.AD_PREPARED)) {
if (isInteractiveAdShow) {
DisposableStatsUtils.disposeSHU(getAdvInfo());
}
} else if (type.equals(AdApplicationContext.AD_STOPED)) {
isInteractiveAdShow = false;
isInteractiveAdHide = false;
mAdApplicationContext.removeAllListeners();
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mInteractiveAdContainer.removeAllViews();
mInteractiveAdContainer.setVisibility(View.GONE);
mInteractiveAdGoFull.setVisibility(View.GONE);
if (mAdPageHolder != null) {
mAdPageHolder.setVisibility(View.VISIBLE);
}
}
});
if ((mediaPlayerDelegate.videoInfo != null && !StaticsUtil.PLAY_TYPE_LOCAL
.equals(mediaPlayerDelegate.videoInfo.getPlayType()))) {
mActivity.setOrientionEnable();
}
if (mMediaPlayerDelegate != null
&& mMediaPlayerDelegate.mediaPlayer != null
&& mediaPlayerDelegate.videoInfo.getCurrentAdvInfo() != null
&& mInteractiveAdVideoRs
.equalsIgnoreCase(mediaPlayerDelegate.videoInfo
.getCurrentAdvInfo().RS)) {
mediaPlayerDelegate.videoInfo.removePlayedAdv();
mMediaPlayerDelegate.mediaPlayer.skipCurPreAd();
}
} else if (type.equals(AdApplicationContext.AD_ERROR)) {
Logger.e("PlayFlow", "PlugiADPlay: interactive ad error");
closeInteractiveAd();
} else if (type.equals(AdApplicationContext.AD_VIEW_MODE_CHANGE)) {
String oldViewMode = (String) arg0.getData().get("oldViewMode");
String newViewMode = (String) arg0.getData().get("newViewMode");
if (IAdContants.ViewMode.EXPAND.getValue().equals(oldViewMode)
&& IAdContants.ViewMode.THUMBNAIL.getValue().equals(
newViewMode)) {
isInteractiveAdHide = true;
mAdApplicationContext.hide();
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mInteractiveAdContainer.setVisibility(View.GONE);
if (mAdPageHolder != null) {
mAdPageHolder.setVisibility(View.VISIBLE);
}
mInteractiveAdGoFull.setVisibility(View.VISIBLE);
}
});
if ((mediaPlayerDelegate.videoInfo != null && !StaticsUtil.PLAY_TYPE_LOCAL
.equals(mediaPlayerDelegate.videoInfo.getPlayType()))) {
mActivity.setOrientionEnable();
}
}
if (IAdContants.ViewMode.EXPAND.getValue().equals(newViewMode)) {
isInteractiveAdHide = false;
}
} else if (type.equals(IAdApplicationContext.VIDEO_PAUSE)) {
if (mMediaPlayerDelegate != null) {
mMediaPlayerDelegate.pauseByInteractiveAd();
}
} else if (type.equals(IAdApplicationContext.VIDEO_RESUME)) {
if (mMediaPlayerDelegate != null) {
mMediaPlayerDelegate.startByInteractiveAd();
}
}
}
}
private void setupInteractiveAdData(String rs, int count) {
mCurrentAdData = new org.json.JSONObject();
try {
mCurrentAdData.put("BRS", rs);
mCurrentAdData.put("AL", count);
} catch (Exception e) {
}
}
private void setInteractiveAdResource() {
if (mAdApplicationContext == null) {
return;
}
XAdSDKResource resource = new XAdSDKResource();
resource.ad_mini = R.drawable.xadsdk_ad_mini;
resource.ad_close = R.drawable.xadsdk_ad_close;
resource.browser_bkgrnd = R.drawable.xadsdk_browser_bkgrnd;
resource.browser_leftarrow = R.drawable.xadsdk_browser_leftarrow;
resource.browser_unleftarrow = R.drawable.xadsdk_browser_unleftarrow;
resource.browser_rightarrow = R.drawable.xadsdk_browser_rightarrow;
resource.browser_unrightarrow = R.drawable.xadsdk_browser_unrightarrow;
resource.browser_refresh = R.drawable.xadsdk_browser_refresh;
resource.browser_close = R.drawable.xadsdk_browser_close;
mAdApplicationContext.setXAdSDKResource(resource);
}
public boolean isInteractiveAdShow() {
return isInteractiveAdShow;
}
public boolean isInteractiveAdHide() {
return isInteractiveAdHide;
}
public void setInteractiveAdVisible(boolean visible) {
if (mInteractiveAdContainer == null) {
return;
}
if (visible) {
if (isInteractiveAdShow) {
if (!isInteractiveAdHide) {
mInteractiveAdContainer.setVisibility(View.VISIBLE);
if (mAdPageHolder != null) {
mAdPageHolder.setVisibility(View.GONE);
}
} else {
mInteractiveAdGoFull.setVisibility(View.VISIBLE);
}
mActivity.goFullScreen();
mActivity.setOrientionDisable();
}
} else {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mInteractiveAdContainer.setVisibility(View.GONE);
if (mAdPageHolder != null) {
mAdPageHolder.setVisibility(View.VISIBLE);
}
mInteractiveAdGoFull.setVisibility(View.GONE);
}
});
if ((mediaPlayerDelegate.videoInfo != null && !StaticsUtil.PLAY_TYPE_LOCAL
.equals(mediaPlayerDelegate.videoInfo.getPlayType()))) {
mActivity.setOrientionEnable();
}
}
}
public void showInteractiveAd() {
if (mInteractiveAdContainer == null) {
return;
}
isInteractiveAdShow = true;
if (mediaPlayerDelegate.isPause || mActivity.onPause) {
return;
}
mActivity.goFullScreen();
mActivity.setOrientionDisable();
if (mAdPageHolder != null) {
mAdPageHolder.setVisibility(View.GONE);
}
mInteractiveAdContainer.setVisibility(View.VISIBLE);
}
}