diff --git a/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java b/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java index 4b684a91..05a996cb 100644 --- a/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java +++ b/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java @@ -94,6 +94,8 @@ public class VodController extends BaseController { mPlayLoadNetSpeedRightTop.setVisibility(VISIBLE); if(Hawk.get(HawkConfig.SCREEN_DISPLAY,GONE)==GONE){ mPlayPauseTime.setVisibility(VISIBLE); + }else { + net_play_speed.setVisibility(GONE); } mPlayTitle.setVisibility(GONE); backBtn.setVisibility(ScreenUtils.isTv(context) ? INVISIBLE : VISIBLE); @@ -106,6 +108,8 @@ public class VodController extends BaseController { mPlayLoadNetSpeedRightTop.setVisibility(GONE); if(Hawk.get(HawkConfig.SCREEN_DISPLAY,GONE)==GONE){ mPlayPauseTime.setVisibility(GONE); + }else { + net_play_speed.setVisibility(VISIBLE); } backBtn.setVisibility(INVISIBLE); break; @@ -168,6 +172,7 @@ public class VodController extends BaseController { TextView seekTime; //右上角进度时间显示 TextView mScreenDisplay; //增加屏显开关 LinearLayout tv_screen_display; //增加屏显布局 + TextView net_play_speed; LockRunnable lockRunnable = new LockRunnable(); private boolean isLock = false; @@ -184,10 +189,11 @@ public class VodController extends BaseController { Date date = new Date(); @SuppressLint("SimpleDateFormat") SimpleDateFormat timeFormat = new SimpleDateFormat("hh:mm a"); mPlayPauseTime.setText(timeFormat.format(date)); - String speedTop = PlayerHelper.getDisplaySpeed(mControlWrapper.getTcpSpeed(),true); String speed = PlayerHelper.getDisplaySpeed(mControlWrapper.getTcpSpeed(),false); - mPlayLoadNetSpeedRightTop.setText(speedTop); + String speedBps = PlayerHelper.getDisplaySpeedBps(mControlWrapper.getTcpSpeed(),true); + mPlayLoadNetSpeedRightTop.setText(speedBps); mPlayLoadNetSpeed.setText(speed); + net_play_speed.setText(speedBps); String width = Integer.toString(mControlWrapper.getVideoSize()[0]); String height = Integer.toString(mControlWrapper.getVideoSize()[1]); mVideoSize.setText("[ " + width + " X " + height +" ]"); @@ -219,6 +225,7 @@ public class VodController extends BaseController { mTopRoot2 = findViewById(R.id.tv_top_r_container); mPlayBtnGroup = findViewById(R.id.play_btn_group); tv_screen_display = findViewById(R.id.tv_screen_display); + net_play_speed = findViewById(R.id.net_play_speed); mParseRoot = findViewById(R.id.parse_root); mGridParseView = findViewById(R.id.mGridParseView); mPlayerRetry = findViewById(R.id.play_retry); @@ -665,6 +672,7 @@ public class VodController extends BaseController { //屏显 int disPlay = Hawk.get(HawkConfig.SCREEN_DISPLAY, GONE); seekTime.setVisibility(disPlay); + net_play_speed.setVisibility(disPlay); mPlayPauseTime.setVisibility(disPlay); mScreenDisplay.setTextColor(disPlay==VISIBLE?getResources().getColor(R.color.color_02F8E1): Color.WHITE); mScreenDisplay.setOnClickListener(new OnClickListener() { @@ -672,6 +680,7 @@ public class VodController extends BaseController { public void onClick(View view) { int disPlay =(Hawk.get(HawkConfig.SCREEN_DISPLAY, GONE) == VISIBLE) ? GONE : VISIBLE; seekTime.setVisibility(disPlay); + net_play_speed.setVisibility(disPlay); if(disPlay==VISIBLE)mPlayPauseTime.setVisibility(disPlay); Hawk.put(HawkConfig.SCREEN_DISPLAY, disPlay); mScreenDisplay.setTextColor(disPlay==VISIBLE?getResources().getColor(R.color.color_02F8E1): Color.WHITE); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/SettingActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/SettingActivity.java index 7da52acf..88d30e73 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/SettingActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/SettingActivity.java @@ -182,7 +182,7 @@ public class SettingActivity extends BaseActivity { if (currentApi.equals(Hawk.get(HawkConfig.API_URL, ""))) { if(dnsOpt != Hawk.get(HawkConfig.DOH_URL, 0)){ AppManager.getInstance().finishAllActivity(); - jumpActivity(HomeActivity.class, createBundle()); + jumpActivity(HomeActivity.class); } else if ((homeSourceKey != null && !homeSourceKey.equals(Hawk.get(HawkConfig.HOME_API, ""))) || homeRec != Hawk.get(HawkConfig.HOME_REC, 0)) { jumpActivity(HomeActivity.class, createBundle()); diff --git a/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java b/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java index 092985c6..560573d3 100644 --- a/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java +++ b/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java @@ -289,4 +289,19 @@ public class PlayerHelper { else return speed > 0?speed + "B/s":(show?"0B/s":""); } + public static String getDisplaySpeedBps(long speed, boolean show) { + long bitSpeed = speed * 8; // 字节转比特 + + if (bitSpeed >= 1_000_000_000) { + return new DecimalFormat("0.00").format(bitSpeed / 1_000_000_000d) + "Gbps"; + } else { + double mbps = bitSpeed / 1_000_000d; + if (mbps > 0 || show) { + DecimalFormat df = mbps < 0.1 ? new DecimalFormat("0.00") : new DecimalFormat("0.0"); + return df.format(mbps) + "Mbps"; + } else { + return "0bps"; + } + } + } } diff --git a/app/src/main/res/layout/player_vod_control_view.xml b/app/src/main/res/layout/player_vod_control_view.xml index c4ecff21..feb68905 100644 --- a/app/src/main/res/layout/player_vod_control_view.xml +++ b/app/src/main/res/layout/player_vod_control_view.xml @@ -13,7 +13,7 @@ + +