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 1a1b16fcf..b328bb5ad 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 @@ -85,6 +85,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List mParser = new DIDLParser(); mR1 = this::hideControl; mR2 = this::setTraffic; + setSubtitleView(); setVideoView(); checkAction(); } @@ -133,16 +134,20 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List private void setVideoView() { mPlayers.set(mBinding.exo); - setSubtitle(Setting.getSubtitle()); - mBinding.exo.setVisibility(View.VISIBLE); setScale(scale = Setting.getScale()); + mBinding.exo.setVisibility(View.VISIBLE); findViewById(R.id.timeBar).setNextFocusUpId(R.id.reset); mBinding.control.speed.setText(mPlayers.getSpeedText()); mBinding.control.speed.setEnabled(mPlayers.canAdjustSpeed()); - mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[0]); } + private void setSubtitleView() { + setSubtitle(Setting.getSubtitle()); + mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + } + @Override public void setSubtitle(int size) { mBinding.exo.getSubtitleView().setFixedTextSize(Dimension.SP, size); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 1576246f8..ddbcd7c13 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -132,6 +132,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mR4 = this::hideUI; Server.get().start(); setRecyclerView(); + setSubtitleView(); setVideoView(); setViewModel(); checkLive(); @@ -178,7 +179,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void setVideoView() { mPlayers.set(mBinding.exo); setScale(Setting.getLiveScale()); - setSubtitle(Setting.getSubtitle()); mBinding.exo.setVisibility(View.VISIBLE); findViewById(R.id.timeBar).setNextFocusUpId(R.id.player); mBinding.control.invert.setActivated(Setting.isInvert()); @@ -187,10 +187,15 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick mBinding.control.speed.setText(mPlayers.getSpeedText()); mBinding.control.decode.setText(mPlayers.getDecodeText()); mBinding.control.speed.setEnabled(mPlayers.canAdjustSpeed()); - mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); mBinding.control.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE); } + private void setSubtitleView() { + setSubtitle(Setting.getSubtitle()); + mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + } + @Override public void setSubtitle(int size) { mBinding.exo.getSubtitleView().setFixedTextSize(Dimension.SP, size); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 8f90cd6fa..9886767d0 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -285,6 +285,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mR4 = this::showEmpty; setBackground(false); setRecyclerView(); + setSubtitleView(); setVideoView(); setViewModel(); checkCast(); @@ -376,9 +377,13 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List mBinding.exo.setVisibility(View.VISIBLE); mBinding.control.decode.setText(mPlayers.getDecodeText()); mBinding.control.speed.setEnabled(mPlayers.canAdjustSpeed()); + mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Setting.getReset()]); + } + + private void setSubtitleView() { mBinding.exo.getSubtitleView().setFixedTextSize(Dimension.SP, 16); mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); - mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Setting.getReset()]); + mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); } @Override diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 821b0c9bd..06e1e0134 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -207,11 +207,11 @@ public class Players implements Player.Listener, AnalyticsListener, ParseCallbac } public boolean isLive() { - return getDuration() < 5 * 60 * 1000; + return getDuration() < 5 * 60 * 1000 || player.isCurrentMediaItemLive(); } public boolean isVod() { - return getDuration() > 5 * 60 * 1000; + return getDuration() > 5 * 60 * 1000 && !player.isCurrentMediaItemLive(); } public boolean isPortrait() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index e3ee6dea9..f0bd071fa 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -157,6 +157,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List Server.get().start(); setForeground(true); setRecyclerView(); + setSubtitleView(); setVideoView(); setViewModel(); checkLive(); @@ -201,9 +202,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List private void setVideoView() { mPlayers.set(mBinding.exo); setScale(Setting.getLiveScale()); - setSubtitle(Setting.getSubtitle()); mBinding.exo.setVisibility(View.VISIBLE); - mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); mBinding.control.action.invert.setActivated(Setting.isInvert()); mBinding.control.action.across.setActivated(Setting.isAcross()); mBinding.control.action.change.setActivated(Setting.isChange()); @@ -214,6 +213,12 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List mBinding.video.addOnLayoutChangeListener((view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> mPiP.update(getActivity(), view)); } + private void setSubtitleView() { + setSubtitle(Setting.getSubtitle()); + mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + } + @Override public void setSubtitle(int size) { mBinding.exo.getSubtitleView().setFixedTextSize(Dimension.SP, size); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 59dc9e1be..84a37db16 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -294,6 +294,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mPiP = new PiP(); setForeground(true); setRecyclerView(); + setSubtitleView(); setVideoView(); setViewModel(); showProgress(); @@ -367,8 +368,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void setVideoView() { mPlayers.set(mBinding.exo); mBinding.exo.setVisibility(View.VISIBLE); - mBinding.exo.getSubtitleView().setFixedTextSize(Dimension.SP, 14); - mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); mBinding.control.action.decode.setText(mPlayers.getDecodeText()); mBinding.control.action.speed.setEnabled(mPlayers.canAdjustSpeed()); mBinding.control.action.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Setting.getReset()]); @@ -377,6 +376,12 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo if (isPort() && ResUtil.isLand(this)) enterFullscreen(); } + private void setSubtitleView() { + mBinding.exo.getSubtitleView().setFixedTextSize(Dimension.SP, 14); + mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + } + @Override public void setSubtitle(int size) { mBinding.exo.getSubtitleView().setFixedTextSize(Dimension.SP, size);