From e67626e05652be2ffa7d706510379e793ce75034 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 4 Jan 2025 00:59:39 +0800 Subject: [PATCH] Optimize player --- .../android/tv/ui/activity/CastActivity.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java index d566808f4..233fe9da8 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java @@ -274,8 +274,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List @Subscribe(threadMode = ThreadMode.MAIN) public void onPlayerEvent(PlayerEvent event) { switch (event.getState()) { - case 0: - setTrackVisible(false); + case PlayerEvent.PREPARE: mClock.setCallback(this); setState(RenderState.PREPARING); break; @@ -287,24 +286,28 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List setState(RenderState.PREPARING); break; case Player.STATE_READY: - setMetadata(); hideProgress(); - mPlayers.reset(); - setTrackVisible(true); setState(RenderState.PLAYING); - mBinding.widget.size.setText(mPlayers.getSizeText()); break; case Player.STATE_ENDED: showControl(); setState(RenderState.STOPPED); break; + case PlayerEvent.TRACK: + setMetadata(); + mPlayers.reset(); + setTrackVisible(); + break; + case PlayerEvent.SIZE: + mBinding.widget.size.setText(mPlayers.getSizeText()); + break; } } - private void setTrackVisible(boolean visible) { - mBinding.control.text.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_TEXT) ? View.VISIBLE : View.GONE); - mBinding.control.audio.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE); - mBinding.control.video.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_VIDEO) ? View.VISIBLE : View.GONE); + private void setTrackVisible() { + mBinding.control.text.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_TEXT) || mPlayers.isVod() ? View.VISIBLE : View.GONE); + mBinding.control.audio.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE); + mBinding.control.video.setVisibility(mPlayers.haveTrack(C.TRACK_TYPE_VIDEO) ? View.VISIBLE : View.GONE); } private void setMetadata() {