package com.letv.watchball.ui; import java.util.Calendar; import android.os.BatteryManager; import android.os.Handler; import android.os.Message; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import com.letv.watchball.R; import com.letv.watchball.bean.AlbumNew; import com.letv.watchball.bean.Video; import com.letv.watchball.db.PreferencesManager; import com.letv.watchball.utils.LetvUtil; import com.letv.watchball.utils.NetWorkTypeUtils; import com.letv.watchball.utils.UIs; public class PlayAlbumFullController extends BasePlayController { PlayAlbumController playAlbumController; /** * 全屏控制器 * */ private View fullPlayControllerLayoutt; /** * 全屏返回键 * */ private View fullPlayControllerBack; /** * 全屏标题 * */ private TextView fullPlayControllerTitle; /** * 全屏网络状态 * */ private ImageView fullPlayControllerNet; /** * 全屏电池状态 * */ private ImageView fullPlayControllerBattery; /** * 全屏时间 * */ private TextView fullPlayControllerTime; /** * 全屏下边布局 * */ private View fullPlayControllerBottom; /** * 全屏高清标清切换 * */ private View fullPlayControllerLowOrHigh; /** * 全屏标清文案 * */ private TextView fullPlayControllerLowText; /** * 全屏高清文案 * */ private TextView fullPlayControllerHighText; /** * 全屏超清文案 */ private TextView fullPlayController1080p; /** * 全屏清晰度切换 布局 * */ private View fullLayout; /** * 全屏切换清晰度按钮 * */ private TextView fullPlayControllerHd; /** * 全屏快进 * */ private View fullPlayControllerForward; /** * 全屏快退 * */ private View fullPlayControllerRewind; /** * 全屏播放 * */ public ImageView fullPlayControllerPlay; /** * 全屏进度条 * */ private SeekBar fullPlayControllerSeekbar; /** * 全屏片头打点 * */ private View fullPlayControllerBegin; /** * 全屏片尾打点 * */ private View fullPlayControllerEnd; /** * 全屏声音布局 * */ private View fullPlayControllerSoundLayout; /** * 全屏声图标 * */ private ImageView fullPlayControllerSoundIcon; /** * 全屏声音进度条 * */ private SeekBar fullPlayControllerSoundSeekbar; /** * 全屏播放进度文字 * */ private TextView fullPlayControllerProgressText; /** * 切换至画中画 */ private View toPip; /** * 傻逼半屏按钮 * */ private View halfView; private Handler handler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { hideNoState(); return false; } }); public PlayAlbumFullController(PlayAlbumController playAlbumController, View root) { this.playAlbumController = playAlbumController; findFullView(root); } /** * 初始化全屏播放器控件 * */ private void findFullView(View root) { fullPlayControllerLayoutt = root .findViewById(R.id.detailplay_full_controller); fullPlayControllerBack = root.findViewById(R.id.full_back); fullPlayControllerTitle = (TextView) root.findViewById(R.id.full_title); fullPlayControllerNet = (ImageView) root.findViewById(R.id.full_net); fullPlayControllerBattery = (ImageView) root .findViewById(R.id.full_battery); fullPlayControllerTime = (TextView) root.findViewById(R.id.full_time); fullPlayControllerLowOrHigh = root.findViewById(R.id.full_loworhigh); fullPlayControllerLowText = (TextView) root .findViewById(R.id.full_low_text); fullPlayControllerHighText = (TextView) root .findViewById(R.id.full_high_text); fullPlayController1080p = (TextView) root.findViewById(R.id.full_1080); fullPlayControllerHd = (TextView) root.findViewById(R.id.full_hd); fullLayout = root.findViewById(R.id.full_layout); fullPlayControllerForward = root.findViewById(R.id.full_forward); fullPlayControllerRewind = root.findViewById(R.id.full_rewind); fullPlayControllerPlay = (ImageView) root.findViewById(R.id.full_play); fullPlayControllerSeekbar = (SeekBar) root .findViewById(R.id.full_play_seekbar); fullPlayControllerBegin = root.findViewById(R.id.full_play_skip_begin); fullPlayControllerEnd = root.findViewById(R.id.full_play_skip_end); fullPlayControllerSoundLayout = root .findViewById(R.id.full_sound_layout); fullPlayControllerSoundIcon = (ImageView) root .findViewById(R.id.full_sound_icon); fullPlayControllerSoundSeekbar = (SeekBar) root .findViewById(R.id.full_sound_seekbar); fullPlayControllerProgressText = (TextView) root .findViewById(R.id.full_progress_text); fullPlayControllerBottom = root.findViewById(R.id.full_bottom); toPip = root.findViewById(R.id.play_pip); halfView = root.findViewById(R.id.full_half_icon); initState(); onTimeChange(); } private void initState() { switch (playAlbumController.getLaunchMode()) { case PlayController.PLAY_ALBUM: halfView.setVisibility(View.VISIBLE); halfView.setOnClickListener(halfIconClick); fullPlayControllerBack.setOnClickListener(fullClick); fullLayout.setOnTouchListener(shieldTouchListener); fullPlayControllerLowOrHigh.measure(0, 0); fullLayout.measure(0, 0); fullPlayControllerSoundLayout.measure(0, 0); switch (playAlbumController.isHd) { case 1: fullPlayControllerHd.setText(PreferencesManager.getInstance() .getPlayNormal_zh()); break; case 0: fullPlayControllerHd.setText(PreferencesManager.getInstance() .getPlayLow_zh()); break; case 2: fullPlayControllerHd.setText(PreferencesManager.getInstance() .getPlayHigh_zh()); } fullPlayControllerHd.setVisibility(View.VISIBLE); fullPlayControllerBack.setOnClickListener(fullClick); fullPlayControllerSoundSeekbar .setOnSeekBarChangeListener(volumeSeekBarChangeListener); fullLayout.setOnTouchListener(shieldTouchListener); fullPlayControllerBottom.setOnTouchListener(shieldTouchListener); fullPlayControllerSeekbar.setEnabled(false); toPip.setOnClickListener(pipClick); fullPlayControllerSoundIcon.setOnClickListener(vloumeIconClick); break; case PlayController.PLAY_VIDEO: halfView.setVisibility(View.GONE); fullPlayControllerBack.setOnClickListener(fullClick); // fullPlayControllerBack.setOnClickListener(backClick); fullLayout.setOnTouchListener(shieldTouchListener); fullPlayControllerLowOrHigh.measure(0, 0); fullLayout.measure(0, 0); fullPlayControllerSoundLayout.measure(0, 0); switch (playAlbumController.isHd) { case 1: fullPlayControllerHd.setText(PreferencesManager.getInstance() .getPlayNormal_zh()); break; case 0: fullPlayControllerHd.setText(PreferencesManager.getInstance() .getPlayLow_zh()); break; case 2: fullPlayControllerHd.setText(PreferencesManager.getInstance() .getPlayHigh_zh()); } fullPlayControllerHd.setVisibility(View.VISIBLE); fullPlayControllerSoundSeekbar .setOnSeekBarChangeListener(volumeSeekBarChangeListener); fullLayout.setOnTouchListener(shieldTouchListener); fullPlayControllerBottom.setOnTouchListener(shieldTouchListener); fullPlayControllerSeekbar.setEnabled(false); toPip.setOnClickListener(pipClick); fullPlayControllerSoundIcon.setOnClickListener(vloumeIconClick); break; case PlayController.PLAY_DEFAULT: fullPlayControllerHd.setVisibility(View.GONE); halfView.setVisibility(View.GONE); fullPlayControllerBack.setOnClickListener(backClick); fullPlayControllerSoundSeekbar .setOnSeekBarChangeListener(volumeSeekBarChangeListener); fullPlayControllerBottom.setOnTouchListener(shieldTouchListener); fullPlayControllerSeekbar.setEnabled(false); toPip.setOnClickListener(pipClick); fullPlayControllerSoundIcon.setOnClickListener(vloumeIconClick); break; } } @Override public void show() { setShow(true); // if(!playAlbumController.isLock()){ fullPlayControllerLayoutt.setVisibility(View.VISIBLE); startHandlerHide(); // } } @Override public void hide() { setShow(false); fullPlayControllerLayoutt.setVisibility(View.GONE); stopHandlerHide(); if (fullLayout.getVisibility() == View.VISIBLE) { fullLayout.setVisibility(View.GONE); } } public void hideNoState() { fullPlayControllerLayoutt.setVisibility(View.GONE); stopHandlerHide(); if (fullLayout.getVisibility() == View.VISIBLE) { fullLayout.setVisibility(View.GONE); } if (fullPlayControllerSoundLayout.getVisibility() == View.VISIBLE) { fullPlayControllerSoundLayout.setVisibility(View.GONE); } } @Override public boolean clickShowAndHide() { if (isShow()) { if (fullPlayControllerLayoutt.getVisibility() == View.VISIBLE) { fullPlayControllerLayoutt.setVisibility(View.GONE); stopHandlerHide(); if (fullLayout.getVisibility() == View.VISIBLE) { fullLayout.setVisibility(View.GONE); } } else { fullPlayControllerLayoutt.setVisibility(View.VISIBLE); startHandlerHide(); return true; } } return false; } @Override public void clickShowAndHide(boolean isShow) { if (isShow()) { if (isShow) { fullPlayControllerLayoutt.setVisibility(View.VISIBLE); startHandlerHide(); } else { fullPlayControllerLayoutt.setVisibility(View.GONE); stopHandlerHide(); } } } @Override public void initProgress(int max, int progress, int buffer) { fullPlayControllerSeekbar.setMax(max); fullPlayControllerSeekbar.setProgress(progress); fullPlayControllerSeekbar.setSecondaryProgress(buffer); fullPlayControllerProgressText.setText(LetvUtil .stringForTime(progress * 1000) + " / " + LetvUtil.stringForTime(max * 1000)); updateSkipState(); initHighOrLow(); fullPlayControllerSeekbar .setOnSeekBarChangeListener(playSeekBarChangeListener); fullPlayControllerSeekbar.setEnabled(true); } @Override public void updateProgress(int progress, int buffer) { fullPlayControllerSeekbar.setProgress(progress); fullPlayControllerSeekbar.setSecondaryProgress(buffer); } @Override public void star() { fullPlayControllerPlay .setImageResource(R.drawable.play_controller_pause_btn); fullPlayControllerPlay.setOnClickListener(pauseClick); fullPlayControllerForward.setOnClickListener(forwardClick); fullPlayControllerRewind.setOnClickListener(rewindClick); } @Override public void pause() { fullPlayControllerPlay .setImageResource(R.drawable.play_controller_play_btn); fullPlayControllerPlay.setOnClickListener(playClick); } /** * 将控制器切换到不可操作状态 * */ @Override public void Inoperable() { fullPlayControllerPlay.setOnClickListener(null); fullPlayControllerPlay .setImageResource(R.drawable.play_controller_play_btn_selected); fullPlayControllerForward.setOnClickListener(null); fullPlayControllerRewind.setOnClickListener(null); fullPlayControllerBegin.setVisibility(View.GONE); fullPlayControllerEnd.setVisibility(View.GONE); fullPlayControllerHd.setOnClickListener(null); fullPlayControllerSeekbar.setOnSeekBarChangeListener(null); fullPlayControllerSeekbar.setEnabled(false); fullPlayControllerSeekbar.setProgress(0); fullPlayControllerSeekbar.setSecondaryProgress(0); } @Override public void format() { Inoperable(); // IntroductionBuilder.clear(fullPlayControllerRightContentIntroduction); clearVideos(); } /** * 屏蔽事件不向下传 * */ private OnTouchListener shieldTouchListener = new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return true; } }; /** * 进度条变化的监听 * */ private OnSeekBarChangeListener playSeekBarChangeListener = new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { startHandlerHide(); if (callBack != null) callBack.seekFinish(seekBar.getProgress()); } @Override public void onStartTrackingTouch(SeekBar seekBar) { stopHandlerHide(); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { fullPlayControllerProgressText.setText(LetvUtil .stringForTime(progress * 1000) + " / " + LetvUtil.stringForTime(seekBar.getMax() * 1000)); } }; public void soundshow() { int[] locations = new int[2]; fullPlayControllerSoundIcon.getLocationOnScreen(locations); int x = locations[0];// 获取组件当前位置的横坐标 int y = locations[1];// 获取组件当前位置的纵坐标 RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) fullPlayControllerSoundLayout .getLayoutParams(); params.leftMargin = x; params.topMargin = y - fullPlayControllerSoundLayout.getMeasuredHeight(); fullPlayControllerSoundLayout.setLayoutParams(params); fullPlayControllerSoundLayout.requestLayout(); fullPlayControllerSoundLayout.setVisibility(View.VISIBLE); } /** * 声音进度条变化的监听 * */ private OnSeekBarChangeListener volumeSeekBarChangeListener = new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { startHandlerHide(); } @Override public void onStartTrackingTouch(SeekBar seekBar) { stopHandlerHide(); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { startHandlerHide(); int max = seekBar.getMax(); int volumeMax = playAlbumController.setSoundVolume(progress, false); changeSoundState(progress, max); if (max != volumeMax) { if (progress <= max) { seekBar.setMax(volumeMax); } else { seekBar.setProgress(max); } } // 把看球音量控制bug修复了 // show(); // soundshow(); } }; /** * 点击暂停的监听 * */ private OnClickListener pauseClick = new OnClickListener() { @Override public void onClick(View v) { startHandlerHide(); if (callBack != null) callBack.pause(); } }; /** * 点击播放的监听 * */ private OnClickListener playClick = new OnClickListener() { @Override public void onClick(View v) { startHandlerHide(); if (callBack != null) callBack.star(); } }; /** * 点击返回的监听 * */ private OnClickListener fullClick = new OnClickListener() { @Override public void onClick(View v) { if (callBack != null) { if (UIs.isLandscape(playAlbumController.getActivity()) && playAlbumController.getLaunchMode() == playAlbumController.PLAY_ALBUM) { callBack.half(); } else { callBack.back(); } } } }; /** * 点击下载的监听 * */ private OnClickListener backClick = new OnClickListener() { @Override public void onClick(View v) { // startHandlerHide(); if (callBack != null) callBack.half(); } }; /** * 点击快进的监听 * */ private OnClickListener forwardClick = new OnClickListener() { @Override public void onClick(View v) { startHandlerHide(); if (callBack != null) callBack.forward(); } }; /** * 点击快退的监听 * */ private OnClickListener rewindClick = new OnClickListener() { @Override public void onClick(View v) { startHandlerHide(); if (callBack != null) callBack.rewind(); } }; /** * 清晰度选择按钮监听 * */ private OnClickListener lowOrHighClick = new OnClickListener() { @Override public void onClick(View v) { startHandlerHide(); if (fullLayout.getVisibility() == View.VISIBLE) { fullLayout.setVisibility(View.GONE); } else { int[] locations = new int[2]; fullPlayControllerHd.getLocationOnScreen(locations); int x = locations[0];// 获取组件当前位置的横坐标 int y = locations[1];// 获取组件当前位置的纵坐标 RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) fullLayout .getLayoutParams(); params.leftMargin = x; params.topMargin = y - fullLayout.getMeasuredHeight() - UIs.dipToPx(5); fullLayout.setLayoutParams(params); fullLayout.requestLayout(); fullLayout.setVisibility(View.VISIBLE); } } }; @Override public void initIntroduction() { // fullPlayControllerRight.setVisibility(View.VISIBLE); // fullPlayControllerRightBar.setVisibility(View.VISIBLE); // fullPlayControllerRightBarIntroduction.setVisibility(View.VISIBLE); // AlbumNew album = playAlbumController.getAlbum(); // IntroductionBuilder.build(album, // fullPlayControllerRightContentIntroduction); // // fullPlayControllerRightBarIntroduction.setOnClickListener(introductionBarClick); } /** * 清除视频列表数据 * */ public void clearVideos() { } /** * 打上片头和片尾的点 * */ private void updateSkipState() { if (fullPlayControllerBegin != null && fullPlayControllerEnd != null) { if (PreferencesManager.getInstance().isSkip()) { long btime = playAlbumController.bTime; long etime = playAlbumController.eTime; if (btime > 0) { int totalWidth = UIs.getScreenWidth(); int position = (int) (btime * totalWidth * 1.0 / playAlbumController.playRecord .getTotalDuration()); RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) fullPlayControllerBegin .getLayoutParams(); params.leftMargin = position; fullPlayControllerBegin.setLayoutParams(params); fullPlayControllerBegin.setVisibility(View.VISIBLE); } else { fullPlayControllerBegin.setVisibility(View.GONE); } if (etime > 0) { int totalWidth = UIs.getScreenWidth(); int position = (int) (etime * totalWidth * 1.0 / playAlbumController.playRecord .getTotalDuration()); RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) fullPlayControllerEnd .getLayoutParams(); params.leftMargin = position; fullPlayControllerEnd.setLayoutParams(params); fullPlayControllerEnd.setVisibility(View.VISIBLE); } else { fullPlayControllerEnd.setVisibility(View.GONE); } } else { fullPlayControllerBegin.setVisibility(View.GONE); fullPlayControllerEnd.setVisibility(View.GONE); } } } /** * 标清按钮点击 * */ private View.OnClickListener play_low_listener = new View.OnClickListener() { public void onClick(View v) { if (null != fullLayout) { fullLayout.setVisibility(View.GONE); } if (playAlbumController.isHd != 0) { playAlbumController.isHd = 0; PreferencesManager.getInstance().setIsPlayHd(0); // fullPlayControllerLowOrHigh.setBackgroundResource(R.drawable.player_low_bg); fullPlayControllerLowText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ff00a0e9)); fullPlayControllerHighText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayController1080p.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayControllerHd.setText(fullPlayControllerLowText .getText()); playAlbumController.play(); } } }; /** * 高清按钮点击 * */ private View.OnClickListener play_high_listener = new View.OnClickListener() { public void onClick(View v) { if (null != fullLayout) { fullLayout.setVisibility(View.GONE); } if (playAlbumController.isHd != 1) { playAlbumController.isHd = 1; PreferencesManager.getInstance().setIsPlayHd(1); // fullPlayControllerLowOrHigh.setBackgroundResource(R.drawable.player_high_bg); fullPlayControllerHighText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ff00a0e9)); fullPlayControllerLowText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayController1080p.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayControllerHd.setText(fullPlayControllerHighText .getText()); playAlbumController.play(); } } }; /** * 超清按钮点击 * */ private View.OnClickListener play_1080p_listener = new View.OnClickListener() { public void onClick(View v) { if (null != fullLayout) { fullLayout.setVisibility(View.GONE); } if (playAlbumController.isHd != 2) { playAlbumController.isHd = 2; PreferencesManager.getInstance().setIsPlayHd(2); // fullPlayControllerLowOrHigh.setBackgroundResource(R.drawable.player_high_bg); fullPlayController1080p.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ff00a0e9)); fullPlayControllerLowText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayControllerHighText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayControllerHd.setText(fullPlayControllerHighText .getText()); playAlbumController.play(); } } }; /** * 点击全屏的监听 * */ private OnClickListener pipClick = new OnClickListener() { @Override public void onClick(View v) { startHandlerHide(); if (callBack != null) callBack.toPip(); } }; /** * 点击全屏的监听 * */ private OnClickListener vloumeIconClick = new OnClickListener() { @Override public void onClick(View v) { if (fullPlayControllerSoundLayout.getVisibility() != View.VISIBLE) { soundshow(); } else { fullPlayControllerSoundLayout.setVisibility(View.INVISIBLE); } } }; /** * 点击半屏的监听 * */ private OnClickListener halfIconClick = new OnClickListener() { @Override public void onClick(View v) { if (callBack != null) callBack.half(); } }; /** * 初始化高清标清选项功能 * */ private void initHighOrLow() { boolean hasHigh = playAlbumController.hasHd; boolean hasStandard = playAlbumController.hasStandard; int isHd = playAlbumController.isHd; String hdName = PreferencesManager.getInstance().getPlayNormal_zh(); String lowName = PreferencesManager.getInstance().getPlayLow_zh(); String highName = PreferencesManager.getInstance().getPlayHigh_zh(); switch (isHd) { case 0: fullPlayControllerHd.setText(lowName); break; case 1: fullPlayControllerHd.setText(hdName); break; case 2: fullPlayControllerHd.setText(highName); } if (hasHigh && hasStandard) { fullPlayControllerHd.setEnabled(true); fullPlayControllerHd.setOnClickListener(lowOrHighClick); fullPlayControllerHighText.setText(hdName); fullPlayControllerLowText.setText(lowName); switch (isHd) { case 1: // fullPlayControllerLowOrHigh.setBackgroundResource(R.drawable.player_high_bg); fullPlayControllerHighText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ff00a0e9)); fullPlayControllerLowText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayController1080p.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); break; case 0: // fullPlayControllerLowOrHigh.setBackgroundResource(R.drawable.player_low_bg); fullPlayControllerLowText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ff00a0e9)); fullPlayControllerHighText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayController1080p.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); break; case 2: fullPlayControllerLowText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayControllerHighText.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ffadadad)); fullPlayController1080p.setTextColor(playAlbumController .getActivity().getResources() .getColor(R.color.letv_color_ff00a0e9)); } fullPlayControllerLowText.setOnClickListener(play_low_listener); fullPlayControllerHighText.setOnClickListener(play_high_listener); fullPlayController1080p.setOnClickListener(play_1080p_listener); } else { fullPlayControllerHd.setEnabled(false); } if (playAlbumController.getLaunchMode() != PlayController.PLAY_DEFAULT) { fullPlayControllerHd.setVisibility(View.VISIBLE); } } @Override public void onTimeChange() { if (fullPlayControllerTime.getVisibility() != View.VISIBLE) { fullPlayControllerTime.setVisibility(View.VISIBLE); } Calendar mCalendar = Calendar.getInstance(); mCalendar.setTimeInMillis(System.currentTimeMillis()); int hour = mCalendar.get(Calendar.HOUR_OF_DAY); int minite = mCalendar.get(Calendar.MINUTE); fullPlayControllerTime.setText(LetvUtil.getStringTwo(String .valueOf(hour)) + ":" + LetvUtil.getStringTwo(String.valueOf(minite))); } @Override public void onNetChange() { if (fullPlayControllerNet.getVisibility() != View.VISIBLE) { fullPlayControllerNet.setVisibility(View.VISIBLE); } switch (NetWorkTypeUtils.getNetType()) { case NetWorkTypeUtils.NETTYPE_NO: fullPlayControllerNet.setImageResource(R.drawable.net_no); break; case NetWorkTypeUtils.NETTYPE_WIFI: fullPlayControllerNet.setImageResource(R.drawable.net_wifi); break; case NetWorkTypeUtils.NETTYPE_2G: fullPlayControllerNet.setImageResource(R.drawable.net_2g); break; case NetWorkTypeUtils.NETTYPE_3G: fullPlayControllerNet.setImageResource(R.drawable.net_3g); break; default: break; } } /** * 电池状态 * */ @Override public void onBatteryChange(int curStatus, int curPower) { if (fullPlayControllerBattery.getVisibility() != View.VISIBLE) { fullPlayControllerBattery.setVisibility(View.VISIBLE); } boolean isCharging = false; switch (curStatus) { case BatteryManager.BATTERY_STATUS_CHARGING:// 充电状态 isCharging = true; break; case BatteryManager.BATTERY_STATUS_DISCHARGING:// 放电状态 break; case BatteryManager.BATTERY_STATUS_NOT_CHARGING:// 未充电 break; case BatteryManager.BATTERY_STATUS_FULL:// 充满电 break; case BatteryManager.BATTERY_STATUS_UNKNOWN:// 未知状态 break; default: break; } if (isCharging) { fullPlayControllerBattery .setImageResource(R.drawable.battery_charge); } else { if (curPower >= 80) { fullPlayControllerBattery.setImageResource(R.drawable.battery5); } else if (curPower >= 60) { fullPlayControllerBattery.setImageResource(R.drawable.battery4); } else if (curPower >= 40) { fullPlayControllerBattery.setImageResource(R.drawable.battery3); } else if (curPower >= 20) { fullPlayControllerBattery.setImageResource(R.drawable.battery2); } else if (curPower >= 0) { fullPlayControllerBattery.setImageResource(R.drawable.battery1); } } } /** * 改变声音按钮状态 * */ public void changeSoundState(int value, int maxValue) { if (fullPlayControllerSoundIcon != null) { if (value >= maxValue / 3 * 2) { fullPlayControllerSoundIcon .setImageResource(R.drawable.sound_three); } else if (value >= maxValue / 3) { fullPlayControllerSoundIcon .setImageResource(R.drawable.sound_two); } else if (value > 0) { fullPlayControllerSoundIcon .setImageResource(R.drawable.sound_one); } else { fullPlayControllerSoundIcon .setImageResource(R.drawable.sound_zero); } } } @Override public void onVolumeChange(int max, int progress) { fullPlayControllerSoundSeekbar.setMax(max); fullPlayControllerSoundSeekbar.setProgress(progress); changeSoundState(progress, max); } public void onVolumeChange(int max, int progress, boolean isUp) { fullPlayControllerSoundSeekbar.setMax(max); int pTmp = fullPlayControllerSoundSeekbar.getProgress(); if (isUp) { if (pTmp == progress) { progress += 1; } else if (pTmp > progress) { progress = pTmp + 1; } } else { if (pTmp == progress) { progress -= 1; } else if (pTmp < progress) { progress = pTmp + 1; } } fullPlayControllerSoundSeekbar.setProgress(progress); changeSoundState(progress, max); } private void startHandlerHide() { if (isShow()) { handler.removeMessages(1); handler.sendEmptyMessageDelayed(1, 3000); } } /** * 移除自动隐藏 * */ private void stopHandlerHide() { handler.removeMessages(1); } @Override public void setTitle(String title) { fullPlayControllerTitle.setText(title); } @Override public void videoChange(AlbumNew album, Video video) { if (video == null) { fullPlayControllerTitle.setText(null); return; } else { fullPlayControllerTitle.setText(video.getNameCn()); } } }