package com.youplayer.player.fullplayer;
import java.util.Arrays;
import java.util.HashMap;
import android.content.Context;
import android.graphics.Rect;
import android.view.WindowManager;
import com.youplayer.core.You_Core;
import com.youplayer.core.struct.You_full_screen_player_data_to_ui;
import com.youplayer.core.struct.You_page_full_player_show_type;
import com.youplayer.core.struct.You_player_media_info;
import com.youplayer.core.struct.You_player_media_info.Player_type;
import com.youplayer.player.YouPlayerFullScreenPlayer;
import com.youplayer.player.R;
//import com.youplayer.player.Util;
import com.youplayer.player.frame.YouPlayerEventControler;
import com.youplayer.util.LOG;
public abstract class YouPlayerAdapter implements YouPlayerEvent{
private static final String TAG = "PlayerAdapter";
private Context mContext;
private int mPlayerPlayStatus = You_full_screen_player_data_to_ui.Cls_you_player_status.NoneStatus;
private boolean mPlayerIsBuffering = false;
private Rect mPlayerSurfaceRect = new Rect(0, 0, 800, 480);
private HashMap<String, Object> mPlayerAdapterData = new HashMap<String, Object>();
private YouPlayerEventFilter mEventFilter;
public You_player_media_info mMediaInfo;
//ControllPanel Timer Event
private int[] ContrllPanelEventFilter = new int[]{
You_Core.FN_FULL_SCREEN_BTN_PLAY,
You_Core.FN_FULL_SCREEN_BTN_MODE_CHANGE,
You_Core.FN_FULL_SCREEN_BTN_NEXT,
You_Core.FN_FULL_SCREEN_BTN_PREVIOUS,
You_Core.FN_FULL_SCREEN_BTN_RATE,
You_Core.FN_FULL_SCREEN_BTN_FAV,
You_Core.FN_FULL_SCREEN_BTN_AUDIO_CHANNEL,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_READY_TO_PLAY,
PLAYER_FN_UI_EVT_PAGE_SEEK_END,
PLAYER_FN_UI_MSG_PLAY_SHARE,
PLAYER_FN_UI_MSG_PLAY_DOWNLOAD,
PLAYER_FN_UI_MSG_PLAY_VOLUME_BRIGHT,
PLAYER_FN_UI_MSG_PLAY_RELATION,
PLAYER_FN_UI_MSG_RELATIVE_TOUCH_UP,
PLAYER_FN_UI_MSG_BTN_RELATIVE,
PLAYER_FN_UI_AIRONE_DEVS_DIALOG_INVISIBLE
};
//Tips Timer Event
private int[] TipsEventFilters = new int[]{
You_Core.FN_FULL_SCREEN_BTN_MODE_CHANGE,
You_Core.FN_FULL_SCREEN_BTN_FAV,
You_Core.FN_FULL_SCREEN_BTN_NEXT,
You_Core.FN_FULL_SCREEN_BTN_PREVIOUS,
PLAYER_FN_UI_EVT_PAGE_SEEK_END,
PLAYER_FN_UI_EVT_PAGE_SEEK_LEFT_RIGHT,
PLAYER_FN_UI_MSG_TRACK_TIPS_NOSUPPORT,
PLAYER_FN_UI_MSG_SPEED_TIPS_NOSUPPORT,
PLAYER_FN_UI_MSG_PREVIOUS_TIPS_NOSUPPORT,
PLAYER_FN_UI_MSG_SHARE_TIPS_NOSUPPORT,
PLAYER_FN_UI_MSG_TIPS_NOSUPPORT,
PLAYER_FN_UI_MSG_TIPS_3D_NOSUPPORT,
You_Core.FN_FULL_SCREEN_BTN_3D,
PLAYER_FN_UI_MSG_NEXT_TIPS_NOSUPPORT,
PLAYER_FN_UI_EVT_PAGE_CHANGE_BRIGHT,
PLAYER_FN_UI_MSG_FAV_TIPS_NOSUPPORT,
PLAYER_FN_UI_MSG_TIPS_DOWNLOAD_INVISIBLITY,
PLAYER_FN_UI_MSG_SHARETIP,
};
public static class Tips{
public Tips(String text, float size){
this.text = text;
this.size = size;
}
public String text;
public float size;
}
public YouPlayerAdapter(Context context){
this.mContext = context;
Arrays.sort(ContrllPanelEventFilter);
Arrays.sort(TipsEventFilters);
mEventFilter = new YouPlayerEventFilter(){
@Override
public void sendEvent(TimerData td) {
LOG.v(TAG, "EventFilter send timer event:", td.event);
sendTimerCBEvent(td);
}
public void sendTimerCBEvent(TimerData td){
switch(td.event){
case PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY:
LOG.v(TAG, "sendTimerCBEvent IsPauseStatus:", getPlayerIsPauseStatus() + " ,mPlayerIsBuffering" + mPlayerIsBuffering);
if(!getPlayerIsPauseStatus() && !mPlayerIsBuffering && getPlayerIsReadyToPlay()){
setPlayerControllPanelVisibleChangedCB(false);
}
break;
case PLAYER_FN_UI_MSG_TIP_INVISIBILITY:
setPlayerTipsInVisibleCB();
break;
case PLAYER_FN_UI_MSG_NET_BUFFERING_SHORT_VISIBLITY:
if(mPlayerIsBuffering){
setPlayerBufferPercentCB(playerGetResource(R.string.fullplayer_media_buffer_timeout_1));
}
break;
case PLAYER_FN_UI_MSG_NET_BUFFERING_LONG_VISIBLITY:
if(mPlayerIsBuffering){
setPlayerBufferPercentCB(playerGetResource(R.string.fullplayer_media_buffer_timeout_2));
}
break;
case PLAYER_FN_UI_MSG_SELF_NET_TIMER_OUT_ACTION:
setPlayerSelfTimerOutCB();
break;
default:
break;
}
}
};
mEventFilter.addPolicy(PLAYER_FN_UI_EVT_PAGE_SEEK_START,You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_PROGRESS_BAR,PLAYER_FN_UI_EVT_PAGE_SEEK_END);
mEventFilter.addTimerPolicy(PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY_TIMER, PLAYER_PANEL_TIMER_SHOW_TIME,
PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY, false,
new int[]{PLAYER_FN_UI_EVT_PAGE_SEEK_START,
PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY_TIMER,
PLAYER_FN_UI_MSG_RELATIVE_TOUCH_MOVE,
You_Core.FN_FULL_SCREEN_BTN_RELATED_CELL,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_PERCENT,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_END});
mEventFilter.addTimerPolicy(PLAYER_FN_UI_MSG_CONTROLL_TIPS_VISIBLITY_TIMER, PLAYER_TIPS_SHOW_TIME,
PLAYER_FN_UI_MSG_TIP_INVISIBILITY, false,
new int[]{PLAYER_FN_UI_MSG_CONTROLL_TIPS_VISIBLITY_TIMER});
mEventFilter.addTimerPolicy(PLAYER_FN_UI_MSG_NET_BUFFERING_SHORT_TIMER, PLAYER_PLAY_BUFFERING_TIMEOUT_1,
PLAYER_FN_UI_MSG_NET_BUFFERING_SHORT_VISIBLITY, false,
new int[]{You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_PERCENT,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_END});
mEventFilter.addTimerPolicy(PLAYER_FN_UI_MSG_NET_BUFFERING_LONG_TIMER, PLAYER_PLAY_BUFFERING_TIMEOUT_2,
PLAYER_FN_UI_MSG_NET_BUFFERING_LONG_VISIBLITY, false,
new int[]{You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_PERCENT,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_END});
mEventFilter.addTimerPolicy(PLAYER_FN_UI_MSG_SELF_NET_TIMER_OUT, PLAYER_PLAY_TIMEOUT_TIME,
PLAYER_FN_UI_MSG_SELF_NET_TIMER_OUT_ACTION, false,
new int[]{PLAYER_FN_UI_MSG_SELF_NET_TIMER_OUT,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_OPENSUCCESS,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_OPEN_FAILED,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_NO_NET_FAILED,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_CONN_TIME_OUT,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_LIVE_MEDIA_DISCONNECT,
You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_NO_DATA_FAILED});
mEventFilter.addPolicy(PLAYER_FN_UI_MSG_PANEL_VIEW, PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY,PLAYER_FN_UI_MSG_PANEL_VIEW_CANCEL);
mEventFilter.addPolicy(PLAYER_FN_UI_AIRONE_DEVS_DIALOG_VISIBLE, PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY,PLAYER_FN_UI_AIRONE_DEVS_DIALOG_INVISIBLE);
}
public void playerAdapterOnRequestCoreService(int ctrl, int evt, Object core_data, Object ui_data){
LOG.v(TAG, "playerAdapterOnRequestCoreService *****ctrl: ", ctrl);
if( Arrays.binarySearch(ContrllPanelEventFilter,ctrl) >= 0 ){
mEventFilter.filter(PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY_TIMER);
}
if( Arrays.binarySearch(TipsEventFilters, ctrl) >= 0 ){
mEventFilter.filter(PLAYER_FN_UI_MSG_CONTROLL_TIPS_VISIBLITY_TIMER);
}
mEventFilter.filter(ctrl);
adapterOnRequestService(ctrl, evt, core_data, ui_data);
}
private void adapterOnRequestService(int ctrl, int evt, Object core_data, Object ui_data){
switch(ctrl){
case PLAYER_FN_UI_EVT_PAGE_SEEK_START:
LOG.v(TAG, "adapterOnRequestService ", "seek start");
break;
case PLAYER_FN_UI_EVT_PAGE_SEEK_END:
LOG.v(TAG, "adapterOnRequestService seek end SeekIsEnable: ", (Boolean)core_data);
setPlayerSeekEndCB((Boolean)core_data);
break;
case PLAYER_FN_UI_EVT_PAGE_SEEK_UP_DOWN:
LOG.v(TAG, "adapterOnRequestService ", "up_down");
setPlayerSeekUpDownCB((Integer)core_data,(Integer)ui_data);
break;
case PLAYER_FN_UI_EVT_PAGE_SEEK_LEFT_RIGHT:
LOG.v(TAG, "adapterOnRequestService ", "left_right");
setPlayerSeekLeftRightCB((Integer)core_data);
break;
case PLAYER_FN_UI_MSG_PLAY_VOLUME_BRIGHT:
setPlayerVolumeOrBrightVisibleChangedCB();
break;
case PLAYER_FN_UI_MSG_PLAY_RELATION:
YouPlayerRelativeList.user_hide = !YouPlayerRelativeList.user_hide;
setPlayerRelativeListVisibleChangedCB(YouPlayerRelativeList.isShouldShow());
break;
case PLAYER_FN_UI_MSG_PLAY_SHARE:
setPlayerShareCB();
break;
case PLAYER_FN_UI_EVT_PAGE_CHANGE_BRIGHT:
setPlayerBrightCB();
break;
case PLAYER_FN_UI_MSG_TRACK_TIPS_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_track_no_support),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_SPEED_TIPS_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_speed_no_support),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_SHARE_TIPS_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_share_no_support),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_TIPS_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_no_support),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_TIPS_3D_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_3d_no_support),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_PREVIOUS_TIPS_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_media_no_previous),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_NEXT_TIPS_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_media_no_next),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_FAV_TIPS_NOSUPPORT:
setPlayerRefreshUITipsCB(playerGetResource(R.string.favorites_add_local_media_failed),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_SHARETIP:
setPlayerRefreshUITipsCB(playerGetResource((Integer)ui_data),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
break;
case PLAYER_FN_UI_MSG_LOCK:
setPlayerLockCB();
break;
case You_Core.FN_FULL_SCREEN_BTN_3D:
if( ui_data != null && ui_data.equals(1) ){
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_3d_opened),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
}else{
setPlayerRefreshUITipsCB(playerGetResource(R.string.fullplayer_3d_closed),PLAYER_TIPS_UI_FONT_SIZE_SMALL);
}
YouPlayerEventControler.fn_core_service_request(ctrl, evt, core_data, ui_data);
break;
case PLAYER_FN_UI_MSG_PANEL_VIEW_CANCEL:
{
mEventFilter.filter(PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY_TIMER);
break;
}
default:
if(ctrl< PLAYER_UI_MSG_ADAPTER_HANDLER_CONVERT){
LOG.v(TAG, "fn_core_service_request", "request");
YouPlayerEventControler.fn_core_service_request(ctrl, evt, core_data, ui_data);
}
break;
}
}
private You_full_screen_player_data_to_ui getPlayerDataToUI(int type, Object value){
You_full_screen_player_data_to_ui data = new You_full_screen_player_data_to_ui();
data.type = type;
data.value = value;
return data;
}
private void setPlayerSelfTimerOutCB(){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER, You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_SELF_NET_TIMER_OUT_ACTION, 0),
null);
}
private void setPlayerBufferPercentCB(String text){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_NET_BUFFERING_VISIBLITY, text),
null);
}
private void setPlayerBrightCB(){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_EVT_PAGE_CHANGE_BRIGHT, 0),
null);
}
private void setPlayerShareCB(){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_PLAY_SHARE, 0),
null);
}
private void setPlayerRelativeListVisibleChangedCB(boolean isVisible){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_PLAY_RELATION_VISIBLITY, isVisible),
null);
}
private void setPlayerVolumeOrBrightVisibleChangedCB(){
LOG.v(TAG, "setPlayerVolumeOrBrightVisibleChangedCB visibleType:", getPlayerVolumeOrBrightIsVisible());
if(getPlayerVolumeOrBrightIsVisible() == PLAYER_UI_SHOW_TYPE_ALL_INVISIBLE){
setPlayerRefreshUIVolumeOrBrightBtnCB(PLAYER_UI_SHOW_TYPE_VOLUME_VISIBLE);
}else if(getPlayerVolumeOrBrightIsVisible() == PLAYER_UI_SHOW_TYPE_VOLUME_VISIBLE){
setPlayerRefreshUIVolumeOrBrightBtnCB(PLAYER_UI_SHOW_TYPE_BRIGHT_VISIBLE);
}else if(getPlayerVolumeOrBrightIsVisible() == PLAYER_UI_SHOW_TYPE_BRIGHT_VISIBLE){
setPlayerRefreshUIVolumeOrBrightBtnCB(PLAYER_UI_SHOW_TYPE_VOLUME_VISIBLE);
}
}
private void setPlayerRefreshUIVolumeOrBrightSizeCB(int size){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_PLAY_VOLUME_BRIGHT_SIZE, size),
null);
}
private void setPlayerRefreshUIVolumeOrBrightBtnCB(int type){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_PLAY_VOLUME_BRIGHT, type),
null);
}
public void setPlayerRefreshUISurfaceCB(){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_SURFACE_RECT, getSurfaceWidthHeight()),
null);
}
private void setPlayerRefreshUIPlayModeCB(){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(getMediaPlayMode(), getMediaPlayFullScreenState()),
null);
}
private void setPlayerSeekEndCB(boolean seekIsEnable){
if(!seekIsEnable){
if(!getPlayerControllPanelIsVisible()){
setPlayerControllPanelVisibleChangedCB(true);
}else{
setPlayerControllPanelVisibleChangedCB(false);
}
}
}
private void setPlayerSeekUpDownCB(int core_data,int value){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY, true),
null);
boolean is_twopointer = ((value & 1) == 1);
boolean is_right = ( ((value>> 1) & 1) == 1);
if( !is_twopointer ) {
if(getPlayerVolumeOrBrightIsVisible() == PLAYER_UI_SHOW_TYPE_ALL_INVISIBLE){
setPlayerRefreshUIVolumeOrBrightBtnCB(!is_right?PLAYER_UI_SHOW_TYPE_VOLUME_VISIBLE:PLAYER_UI_SHOW_TYPE_BRIGHT_VISIBLE);
}
else if( getPlayerVolumeOrBrightIsVisible() == PLAYER_UI_SHOW_TYPE_VOLUME_VISIBLE && is_right){
setPlayerRefreshUIVolumeOrBrightBtnCB(!is_right?PLAYER_UI_SHOW_TYPE_VOLUME_VISIBLE:PLAYER_UI_SHOW_TYPE_BRIGHT_VISIBLE);
}
else if( getPlayerVolumeOrBrightIsVisible() == PLAYER_UI_SHOW_TYPE_BRIGHT_VISIBLE && !is_right ){
setPlayerRefreshUIVolumeOrBrightBtnCB(!is_right?PLAYER_UI_SHOW_TYPE_VOLUME_VISIBLE:PLAYER_UI_SHOW_TYPE_BRIGHT_VISIBLE);
}
if(getPlayerVolumeOrBrightIsVisible() != PLAYER_UI_SHOW_TYPE_ALL_INVISIBLE){
setPlayerRefreshUIVolumeOrBrightSizeCB(core_data);
}
}else{
if( mMediaInfo.is_system_player == Player_type.PLAYER_TYPE_HARD_SOFT )
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_SOFT_VOL, core_data), null);
}
}
private void setPlayerSeekLeftRightCB(int core_data){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_EVT_PAGE_SEEK_LEFT_RIGHT, core_data),
null);
setPlayerRefreshUITipsCB(PLAYER_UI_MSG_SEEKBAR, 0);
setPlayerControllPanelVisibleChangedCB(true);
}
public void setPlayerControllPanelVisibleChangedCB(boolean isVisible){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY, isVisible),
null);
}
private void setPlayerTipsInVisibleCB(){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_TIP_INVISIBILITY, false),
null);
}
private void setPlayerRefreshUITipsCB(String text, float size){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_TIP_VISIBILITY_REFRESH, new Tips(text, size)),
null);
}
private void setPlayerLockCB(){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER,You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_LOCK, 0),
null);
setPlayerControllPanelVisibleChangedCB(false);
}
public boolean playerCallBack(int page_id, int page_action, Object core_data, Object ui_data){
boolean result = false;
if(page_id == You_Core.FN_PAGE_FULL_SCREEN_PLAYER ){
switch(page_action){
case You_Core.FN_PAGE_EVT_SHOW:
result = playerCallBackShow(page_id, page_action, core_data, ui_data);
break;
case You_Core.FN_PAGE_DATA_FAV:
result = playerCallBackFav(page_id, page_action, core_data, ui_data);
break;
case You_Core.FN_PAGE_EVT_WAITING:
result = playerWaitingCallBack(true);
break;
case You_Core.FN_PAGE_EVT_CANCEL_WAITING:
result = playerWaitingCallBack(false);
break;
default:
break;
}
}
return result;
}
public boolean playerWaitingCallBack(boolean isWaiting){
adapterCallback(You_Core.FN_PAGE_FULL_SCREEN_PLAYER, You_Core.FN_PAGE_EVT_SHOW,
getPlayerDataToUI(PLAYER_FN_UI_MSG_WAITTING, isWaiting), null);
return true;
}
public void CB_V(int page_id, int page_action, You_full_screen_player_data_to_ui coredata, Object ui_data){
if( coredata.type < showType.length && coredata.type != You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_PROGRESS_BAR)
LOG.i( TAG, "receive msg:", " page_id: " + page_id + " | page_action: " + page_action + " | type: " + coredata.type + "->" + showType[coredata.type] + " | value: " + coredata.value);
}
public void CB_MediaInfo(You_player_media_info coreData){
LOG.v( TAG, "receive msg", "is_system_player: " + coreData.is_system_player);
LOG.v( TAG, "receive msg", "width: " + coreData.width);
LOG.v( TAG, "receive msg", "height: " + coreData.height);
LOG.v( TAG, "receive msg", "duration: " + coreData.duration);
LOG.v( TAG, "receive msg", "start_time: " + coreData.start_play_time);
LOG.v( TAG, "receive msg", "url: " + coreData.url);
LOG.v( TAG, "receive msg", "mediatype: " + coreData.mediatype);
LOG.v( TAG, "receive msg", "ds: " + coreData.ds);
LOG.v( TAG, "receive msg", "isEpisode: " + coreData.isEpisode);
LOG.v( TAG, "receive msg", "audio_mode: " + coreData.audio_mode);
LOG.v( TAG, "receive msg", "video_mode: " + coreData.video_mode);
LOG.v( TAG, "receive msg", "previous: " + coreData.is_have_pre_online_media);
LOG.v( TAG, "receive msg", "next: " + coreData.is_have_next_online_media);
LOG.v( TAG, "receive msg", "can_fav: " + coreData.can_fav);
LOG.v( TAG, "receive msg", "can_cache: " + coreData.can_cache);
LOG.v( TAG, "receive msg", "definition: " + coreData.definition);
LOG.v( TAG, "receive msg", "current_dfnt: " + coreData.current_dfnt);
}
public boolean playerCallBackShow(int page_id, int page_action, Object core_data, Object ui_data){
You_full_screen_player_data_to_ui coredata = (You_full_screen_player_data_to_ui) core_data;
if( coredata == null || mEventFilter.filter(coredata.type) ){
return true;
}
if( Arrays.binarySearch(ContrllPanelEventFilter,coredata.type) >= 0 ){
mEventFilter.filter(PLAYER_FN_UI_MSG_CONTROLL_PANEL_VISIBLITY_TIMER);
}
CB_V(page_id, page_action, coredata, ui_data);
switch(coredata.type){
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SET_PLAYER_ENGINE_TYPE:
if(coredata.value != null){
try {
You_player_media_info media_info = (You_player_media_info) coredata.value;
CB_MediaInfo(media_info);
// 0: YOUPALYER 1: SYSTEMPLAYER
setPlayerIsSystemMediaPlayer(media_info.is_system_player!=Player_type.PLAYER_TYPE_SOFT);
setMediaInfoMediaType(media_info.mediatype);
setMediaInfoIsLive(playerIntToBoolean(media_info.ds));
setMediaInfoCanFav(media_info.can_fav);
setMediaInfoCanCache(media_info.can_cache);
setMediaInfoHasPrevious(playerIntToBoolean(media_info.is_have_pre_online_media));
setMediaInfoHasNext(playerIntToBoolean(media_info.is_have_next_online_media));
mPlayerAdapterData.put(PLAYER_EVENT_IS_3D, media_info.is_3D);
mMediaInfo = media_info;
//L.v( TAG, " fixQuality", mMediaInfo.definition+","+mMediaInfo.current_dfnt);
mMediaInfo.fixQuality();
//L.v( TAG, " fixQuality", mMediaInfo.definition+","+mMediaInfo.current_dfnt);
if(getPlayerIsVideoMedia() || getPlayerIsOnlineAudio()){
setPlayerPlayMode(media_info.video_mode);
}
if(getPlayerIsLocalAudio()){
setPlayerPlayMode(media_info.audio_mode);
}
setPlayerRefreshUIPlayModeCB();
setPlayerControllPanelVisibleChangedCB(true);
} catch (Exception e) {
e.printStackTrace();
}
}
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_OPENSUCCESS:
setPlayerIsShowStop(false);
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_READY_TO_PLAY:
setPlayerIsReadyToPlay(true);
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_MEDIA_INFO:
if(coredata.value != null){
You_player_media_info media_info = (You_player_media_info) coredata.value;
mMediaInfo = media_info;
mMediaInfo.fixQuality();
try{
CB_MediaInfo(media_info);
setMediaInfoWidth(media_info.width);
setMediaInfoHeight(media_info.height);
setMediaInfoUrl(media_info.url);
setMediaInfoIsEpisode(playerIntToBoolean(media_info.isEpisode));
if(getPlayerIsBackground() && getPlayerIsLocalAudio()){
setPlayerPlayState(You_full_screen_player_data_to_ui.Cls_you_player_status.PlayingStatus);
}
adapterCallback(page_id,page_action,coredata,ui_data);
if( getPlayerIsVideoMedia()){
extSetSurfaceScale(getVideoFullScaleState());
setPlayerRefreshUISurfaceCB();
}
}catch(Exception e){
e.printStackTrace();
}
}
return true;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_PLAY_BTN:
if(coredata.value != null){
LOG.v(TAG, "fn_page_full_player_show_play_btn:", (Integer)coredata.value);
setPlayerPlayState((Integer)coredata.value);
if(getPlayerIsPauseStatus()){
setPlayerControllPanelVisibleChangedCB(true);
}
}
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_PLAY_TO_END:
// value : 0 正常播放完毕 1 多片中的一片播放完 3 seek 多片到最后
int value = 0;
if( coredata.value != null ){
value = (Integer)coredata.value;
}
// 其中一片播放完不用处理
if( value == 3 ){
coredata.value=0;
}
LOG.v(TAG,"fn_full_screen_btn_stop to end value:" , value);
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_CHANGE_MODE:
if(coredata != null){
setPlayerPlayMode((Integer)coredata.value);
setPlayerRefreshUITipsCB(getPlayerTipsText(You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_CHANGE_MODE), PLAYER_TIPS_UI_FONT_SIZE_SMALL);
setPlayerRefreshUIPlayModeCB();
if(getPlayerIsVideoMedia()){
extSetSurfaceScale(getVideoFullScaleState());
setPlayerRefreshUISurfaceCB();
}
}
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_START:
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_PERCENT:
mEventFilter.filter(PLAYER_FN_UI_MSG_NET_BUFFERING_SHORT_TIMER);
mEventFilter.filter(PLAYER_FN_UI_MSG_NET_BUFFERING_LONG_TIMER);
if(!mPlayerIsBuffering){
mPlayerIsBuffering = true;
setPlayerControllPanelVisibleChangedCB(true);
}
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_BUFFER_END:
mPlayerIsBuffering = false;
if(!getPlayerIsPauseStatus() && getPlayerIsReadyToPlay()){
setPlayerControllPanelVisibleChangedCB(false);
}
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_STOP:
//0:over 1:frags
if(coredata.value != null && YouPlayerFullScreenPlayer.instance != null){
setPlayerIsShowStop(true);
int stop = (Integer)coredata.value;
YouPlayerFullScreenPlayer.instance.doPlayerStopAction(stop);//同频调用
if(stop == 0){
setPlayerPlayState(You_full_screen_player_data_to_ui.Cls_you_player_status.PauseStatus);
}
}
break;
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_SHOW_OPENNING:
if(getPlayerIsOnlineVideo() || getPlayerIsOnlineAudio()){
mEventFilter.filter(PLAYER_FN_UI_MSG_SELF_NET_TIMER_OUT);
}
break;
default:
break;
}
adapterCallback(page_id,page_action,core_data,ui_data);
return true;
}
public boolean playerCallBackFav(int page_id, int page_action, Object core_data, Object ui_data){
String favText = "";
setPlayerRefreshUITipsCB(favText, PLAYER_TIPS_UI_FONT_SIZE_SMALL);
return true;
}
public void destoryPlayerAdapter(){
mEventFilter.removeAll();
mPlayerAdapterData.clear();
}
private String playerGetResource(int id){
String res = "";
if(mContext != null){
res = mContext.getResources().getString(id);
}
return res;
}
private String getPlayerTipsText(int ctrl){
String tips = "";
switch(ctrl){
case You_page_full_player_show_type.FN_PAGE_FULL_PLAYER_CHANGE_MODE:
switch(getMediaInfoMediaType()){
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_VIDEO_MEDIA:
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_VIDEO_MEDIA:
tips = getPlayerVideoTips();
break;
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_AUDIO_MEDIA:
break;
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_AUDIO_MEDIA:
tips = getPlayerAudioTips();
break;
default:
break;
}
break;
case You_Core.FN_FULL_SCREEN_BTN_PREVIOUS:
if(getMediaInfoHasPrevious()){
tips = playerGetResource(R.string.fullplayer_media_previous);
}else{
tips = playerGetResource(R.string.fullplayer_media_no_previous);
}
break;
case You_Core.FN_FULL_SCREEN_BTN_NEXT:
tips = playerGetResource(R.string.fullplayer_media_next);
if(getMediaInfoHasNext()){
tips = playerGetResource(R.string.fullplayer_media_previous);
}else{
tips = playerGetResource(R.string.fullplayer_media_no_previous);
}
break;
default:
break;
}
return tips;
}
private String getPlayerVideoTips(){
switch(getVideoFullScaleState()){
case You_player_media_info.Cls_you_player_render_mode.VIDEO_FULL_SCR:
return playerGetResource(R.string.fullplayer_scale_tips2);
case You_player_media_info.Cls_you_player_render_mode.VIDEO_ORIGINAL_SCR:
return playerGetResource(R.string.fullplayer_scale_tips0);
case You_player_media_info.Cls_you_player_render_mode.VIDEO_ASPECT_FULL_SCR:
return playerGetResource(R.string.fullplayer_scale_tips1);
default:
break;
}
return "";
}
private String getPlayerAudioTips(){
switch(getAudioLoopState()){
case You_player_media_info.Cls_fn_music_circle_mode.CIRCLE_ENTIRE_MODE:
return playerGetResource(R.string.fullplayer_audio_loop_whole);
case You_player_media_info.Cls_fn_music_circle_mode.CIRCLE_RANDOM_MODE:
return playerGetResource(R.string.fullplayer_audio_loop_random);
case You_player_media_info.Cls_fn_music_circle_mode.CIRCLE_SINGLE_MODE:
return playerGetResource(R.string.fullplayer_audio_loop_self);
default:
break;
}
return "";
}
public int extGetScreenWidth() {
try {
WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
if(width > height){
return width;
}else{
return height;
}
} catch (Exception e) {
e.printStackTrace();
return 800;
}
}
public int extGetScreenHeight() {
try {
WindowManager wm = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
if(width > height){
return height;
}else{
return width;
}
} catch (Exception e) {
e.printStackTrace();
return 480;
}
}
public void extSetSurfaceScale(int mode) {
int nMediaWidth = getMediaInfoWidth();
int nMediaHeight = getMediaInfoHeight();
int nScreenWidth = extGetScreenWidth();
int nScreenHeight = extGetScreenHeight();
if (nMediaWidth == 0 || nMediaHeight == 0) {
nMediaWidth = nScreenWidth;
nMediaHeight = nScreenHeight;
}
if (nScreenWidth < nScreenHeight) {
int temp = nScreenWidth;
nScreenWidth = nScreenHeight;
nScreenHeight = temp;
}
switch (mode) {
case You_player_media_info.Cls_you_player_render_mode.VIDEO_ORIGINAL_SCR:
if (nScreenWidth < nMediaWidth || nScreenHeight < nMediaHeight) {
float previewScale = (float) nScreenWidth / nScreenHeight;
float mediaScale = (float) nMediaWidth / nMediaHeight;
if (previewScale > mediaScale) {
setSurfaceWidthHeight((int) (nScreenHeight * mediaScale), nScreenHeight);
} else {
setSurfaceWidthHeight(nScreenWidth, (int) (nScreenWidth / mediaScale));
}
} else {
setSurfaceWidthHeight(nMediaWidth, nMediaHeight);
}
break;
case You_player_media_info.Cls_you_player_render_mode.VIDEO_ASPECT_FULL_SCR:
float previewScale = (float) nScreenWidth / nScreenHeight;
float mediaScale = (float) nMediaWidth / nMediaHeight;
if (previewScale > mediaScale) {
setSurfaceWidthHeight((int) (nScreenHeight * mediaScale), nScreenHeight);
} else {
setSurfaceWidthHeight(nScreenWidth, (int) (nScreenWidth / mediaScale));
}
break;
case You_player_media_info.Cls_you_player_render_mode.VIDEO_FULL_SCR:
setSurfaceWidthHeight(nScreenWidth, nScreenHeight);
break;
default:
break;
}
}
private void setSurfaceWidthHeight(int w, int h){
mPlayerSurfaceRect.set(0, 0, w, h);
}
private Rect getSurfaceWidthHeight(){
return mPlayerSurfaceRect;
}
private int getMediaPlayFullScreenState() {
int FullScreenState = You_player_media_info.Cls_you_player_render_mode.VIDEO_FULL_SCR;
int mediaType = getMediaInfoMediaType();
switch(mediaType){
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_VIDEO_MEDIA:
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_VIDEO_MEDIA:
FullScreenState = getVideoFullScaleState();
break;
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_AUDIO_MEDIA:
FullScreenState = getAudioLoopState();
break;
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_AUDIO_MEDIA:
FullScreenState = getVideoFullScaleState();
break;
default:
break;
}
LOG.v(TAG, "getMediaPlayFullScreenState FullScreenState: ", FullScreenState);
return FullScreenState;
}
private void setPlayerPlayMode(int mode){
int mediaType = getMediaInfoMediaType();
LOG.v(TAG, "setPlayerPlayMode mediaType ", mediaType);
switch(mediaType){
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_VIDEO_MEDIA:
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_VIDEO_MEDIA:
setVideoFullScaleState(mode);
break;
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_AUDIO_MEDIA:
setAudioLoopState(mode);
break;
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_AUDIO_MEDIA:
setVideoFullScaleState(mode);
break;
default:
break;
}
}
private int getMediaPlayMode() {
int playMode = PLAYER_FN_UI_MSG_PLAY_MODE_VIDEO;
int mediaType = getMediaInfoMediaType();
switch(mediaType){
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_VIDEO_MEDIA:
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_VIDEO_MEDIA:
playMode = PLAYER_FN_UI_MSG_PLAY_MODE_VIDEO;
break;
case You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_AUDIO_MEDIA:
playMode = PLAYER_FN_UI_MSG_PLAY_MODE_AUDIO;
break;
case You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_AUDIO_MEDIA:
playMode = PLAYER_FN_UI_MSG_PLAY_MODE_VIDEO;
break;
default:
break;
}
LOG.v(TAG, "getMediaPlayMode playMode: ", playMode);
return playMode;
}
public int getVideoFullScaleState(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_PLAYER_VIDEO_SCREEN)){
return (Integer)this.mPlayerAdapterData.get(PLAYER_MEDIA_INFO_PLAYER_VIDEO_SCREEN);
}
return You_player_media_info.Cls_you_player_render_mode.VIDEO_ASPECT_FULL_SCR;
}
private void setVideoFullScaleState(int scaleState){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_PLAYER_VIDEO_SCREEN, scaleState);
}
public int getAudioLoopState(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_PLAYER_AUDIO_LOOP)){
return (Integer)this.mPlayerAdapterData.get(PLAYER_MEDIA_INFO_PLAYER_AUDIO_LOOP);
}
return You_player_media_info.Cls_fn_music_circle_mode.CIRCLE_ENTIRE_MODE;
}
private void setAudioLoopState(int loopState){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_PLAYER_AUDIO_LOOP, loopState);
}
public boolean getMediaInfoIsLive(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_PLAYER_IS_LIVE)){
return (Boolean)this.mPlayerAdapterData.get(PLAYER_MEDIA_INFO_PLAYER_IS_LIVE);
}
return false;
}
private void setMediaInfoIsLive(boolean isLive){
LOG.v(TAG, "setMediaInfoIsLive isLive:", isLive);
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_PLAYER_IS_LIVE, isLive);
}
private void setMediaInfoHasPrevious(boolean hasPrevious){
LOG.v(TAG, "setMediaInfoHasPrevious hasPrevious:", hasPrevious);
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_HAS_PREVIOUS, hasPrevious);
}
public boolean getMediaInfoHasPrevious(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_HAS_PREVIOUS)){
return (Boolean)this.mPlayerAdapterData.get(PLAYER_MEDIA_INFO_HAS_PREVIOUS);
}
return false;
}
private void setMediaInfoHasNext(boolean hasNext){
LOG.v(TAG, "setMediaInfoHasNext hasNext:", hasNext);
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_HAS_NEXT, hasNext);
}
public void setMediaInfoIs3D(boolean flag)
{
LOG.v(TAG, "setMediaInfoIs3D hasNext:", flag);
mPlayerAdapterData.put(PLAYER_EVENT_IS_3D, flag);
}
public boolean getMediaInfoIs3D()
{
if(mPlayerAdapterData.containsKey(PLAYER_EVENT_IS_3D)){
return (Boolean)this.mPlayerAdapterData.get(PLAYER_EVENT_IS_3D);
}
return false;
}
public boolean getMediaInfoHasNext(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_HAS_NEXT)){
return (Boolean)this.mPlayerAdapterData.get(PLAYER_MEDIA_INFO_HAS_NEXT);
}
return false;
}
private void setMediaInfoIsEpisode(boolean isEpisode){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_IS_EPISODE, isEpisode);
}
public boolean getMediaInfoIsEpisode(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_IS_EPISODE)){
return (Boolean)this.mPlayerAdapterData.get(PLAYER_MEDIA_INFO_IS_EPISODE);
}
return false;
}
private void setMediaInfoUrl(String url){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_URL, url);
}
public String getMediaInfoUrl(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_URL)){
return (String)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_URL);
}
return "";
}
private void setMediaInfoMediaType(int currentMediaType){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_MEDIA_TYPE, currentMediaType);
}
public int getMediaInfoMediaType(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_MEDIA_TYPE)){
return (Integer)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_MEDIA_TYPE);
}
return -1;
}
public void setMediaInfoWidth(int width){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_WIDTH, width);
}
public int getMediaInfoWidth(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_WIDTH)){
return (Integer)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_WIDTH);
}
return extGetScreenWidth();
}
public void setMediaInfoHeight(int height){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_HEIGHT, height);
}
public int getMediaInfoHeight(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_HEIGHT)){
return (Integer)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_HEIGHT);
}
return extGetScreenHeight();
}
public void setMediaInfoDuration(long total){
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_DURATION, total);
}
public long getMediaInfoDuration(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_DURATION)){
return (Long)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_DURATION);
}
return 0;
}
public void setMediaInfoCanFav(boolean isFav){
LOG.v(TAG, "setMediaInfoCanFav isFav:", isFav);
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_CAN_FAV, isFav);
}
public boolean getMediaInfoCanFav(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_CAN_FAV)){
return (Boolean)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_CAN_FAV);
}
return false;
}
public void setPlayerIsShowStop(boolean isStop){
LOG.v(TAG, "setPlayerShowIsStop isStop:", isStop);
mPlayerAdapterData.put(PLAYER_EVENT_IS_SHOW_STOP, isStop);
}
public boolean getPlayerIsShowStop(){
if(mPlayerAdapterData.containsKey(PLAYER_EVENT_IS_SHOW_STOP)){
return (Boolean)mPlayerAdapterData.get(PLAYER_EVENT_IS_SHOW_STOP);
}
return false;
}
public void setMediaInfoCanCache(boolean isCache){
LOG.v(TAG, "setMediaInfoCanCache isCache:", isCache);
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_CAN_CACHE, isCache);
}
public boolean getMediaInfoCanCache(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_CAN_CACHE)){
return (Boolean)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_CAN_CACHE);
}
return false;
}
private int getPlayerVolumeOrBrightIsVisible(){
if(YouPlayerFullScreenPlayer.instance != null){
return YouPlayerFullScreenPlayer.instance.getPlayerSeekBarVolumeOrBrightIsVisible();
}else{
return PLAYER_UI_SHOW_TYPE_ALL_INVISIBLE;
}
}
private boolean getPlayerControllPanelIsVisible(){
if(YouPlayerFullScreenPlayer.instance != null){
return YouPlayerFullScreenPlayer.instance.isAllControllPanelIsVisible();
}
return false;
}
private boolean getPlayerIsBackground(){
if(YouPlayerFullScreenPlayer.instance != null){
return YouPlayerFullScreenPlayer.instance.getPlayerIsBackground();
}
return false;
}
public boolean getPlayerIsPauseStatus(){
if( getPlayerPlayState() == You_full_screen_player_data_to_ui.Cls_you_player_status.PauseStatus){
return true;
}
return false;
}
private void setPlayerPlayState(int playStatus){
LOG.v(TAG, "setPlayerPlayState playStatus:", playStatus);
mPlayerPlayStatus = playStatus;
}
public int getPlayerPlayState(){
return this.mPlayerPlayStatus;
}
private void setPlayerIsSystemMediaPlayer(boolean isSystemPlayer){
LOG.v(TAG, "setPlayerIsSystemMediaPlayer isSystemPlayer: ", isSystemPlayer);
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_SYSTEM_PLAYER, isSystemPlayer);
}
public boolean getPlayerIsSystemMediaPlayer(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_SYSTEM_PLAYER)){
return (Boolean)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_SYSTEM_PLAYER);
}
return false;
}
private void setPlayerIsReadyToPlay(boolean readyToPlay){
LOG.v(TAG, "setPlayerReadyToPlay readyToPlay:", readyToPlay);
mPlayerAdapterData.put(PLAYER_MEDIA_INFO_READY_TO_PLAY, readyToPlay);
}
public boolean getPlayerIsReadyToPlay(){
if(mPlayerAdapterData.containsKey(PLAYER_MEDIA_INFO_READY_TO_PLAY)){
return (Boolean)mPlayerAdapterData.get(PLAYER_MEDIA_INFO_READY_TO_PLAY);
}
return false;
}
public boolean getPlayerIsOnlineAudio(){
return (getMediaInfoMediaType() == You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_AUDIO_MEDIA);
}
public boolean getPlayerIsLocalAudio(){
return (getMediaInfoMediaType() == You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_AUDIO_MEDIA);
}
public boolean getPlayerIsOnlineVideo(){
return (getMediaInfoMediaType() == You_player_media_info.Cls_you_media_type_e.YOU_ONLINE_VIDEO_MEDIA);
}
public boolean getPlayerIsLocalVideo(){
return (getMediaInfoMediaType() == You_player_media_info.Cls_you_media_type_e.YOU_LOCAL_VIDEO_MEDIA);
}
public boolean getPlayerIsVideoMedia(){
return (getPlayerIsOnlineVideo() || getPlayerIsLocalVideo());
}
public boolean playerIntToBoolean(int value){
return (value >= 1 ? true : false);
}
public abstract void adapterCallback(int page_id, int page_action, Object core_data, Object ui_data);
public static String[] showType = {
"FN_PAGE_FULL_PLAYER_SHOW_BASE ",
"FN_PAGE_FULL_PLAYER_SHOW_OPENNING ",
"FN_PAGE_FULL_PLAYER_SHOW_OPENSUCCESS ",
"FN_PAGE_FULL_PLAYER_SHOW_OPEN_FAILED ",
"FN_PAGE_FULL_PLAYER_SHOW_NO_DATA_FAILED ",
"FN_PAGE_FULL_PLAYER_SHOW_READY_TO_PLAY ",
"FN_PAGE_FULL_PLAYER_SHOW_VIDEO_VIEW ",
"FN_PAGE_FULL_PLAYER_SHOW_VIDEO_RENDER ",
"FN_PAGE_FULL_PLAYER_SHOW_MEDIA_INFO ",
"FN_PAGE_FULL_PLAYER_SHOW_PLAY_BTN ",
"FN_PAGE_FULL_PLAYER_SHOW_PROGRESS_BAR ",
"FN_PAGE_FULL_PLAYER_SHOW_SUBTITLE ",
"FN_PAGE_FULL_PLAYER_SHOW_LYRIC ",
"FN_PAGE_FULL_PLAYER_SHOW_BUFFER_START ",
"FN_PAGE_FULL_PLAYER_SHOW_BUFFER_END ",
"FN_PAGE_FULL_PLAYER_SHOW_BUFFER_PERCENT ",
"FN_PAGE_FULL_PLAYER_SHOW_SEEK_THUMBNAIL ",
"FN_PAGE_FULL_PLAYER_SHOW_STOP ",
"FN_PAGE_FULL_PLAYER_SHOW_PLAY_TO_END ",
"FN_PAGE_FULL_PLAYER_ALL_AD",
"FN_PAGE_FULL_PLAYER_SHOW_AD_VIEW ",
"FN_PAGE_FULL_PLAYER_HIDE_AD_VIEW ",
"FN_PAGE_FULL_PLAYER_HIDE_ALL_AD_VIEWS ",
"FN_PAGE_FULL_PLAYER_SET_PLAYER_ENGINE_TYPE ",
"FN_PAGE_FULL_PLAYER_SET_SUBTITLE_TYPE ",
"FN_PAGE_FULL_PLAYER_SET_MEDIA_TYPE ",
"FN_PAGE_FULL_PLAYER_CHANGE_MODE ",
"FN_PAGE_FULL_PLAYER_AUDIO_SUBTITLE ",
"FN_PAGE_FULL_PLAYER_SHOW_NO_NET_FAILED",
"FN_PAGE_FULL_PLAYER_SHOW_CONN_TIME_OUT",
"FN_PAGE_FULL_PLAYER_SHOW_CONN_RESET",
"FN_PAGE_FULL_PLAYER_SHOW_NO_NEXT_PREVIOUD_FILE",
"FN_PAGE_FULL_PLAYER_SHOW_LIVE_MEDIA_DISCONNECT",
"FN_PAGE_FULL_PLAYER_SHOW_FILE_NOT_EXIST",
"FN_PAGE_FULL_PLAYER_RELATED_VIDEO",
"FN_PAGE_FULL_PLAYER_DO_SEEK_PREVIEW",
"... ",
"... ",
};
}