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 c2cb5625c..4f5988d1e 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 @@ -97,6 +97,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List mParser = new DIDLParser(); mR1 = this::hideControl; mR2 = this::setTraffic; + setSubtitleView(); setVideoView(); checkAction(); } @@ -147,15 +148,20 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List mPlayers.set(getExo(), getIjk()); mPlayers.setPlayer(Setting.getPlayer()); findViewById(R.id.timeBar).setNextFocusUpId(R.id.reset); - getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); - getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[0]); setScale(scale = Setting.getScale()); - setSubtitle(Setting.getSubtitle()); setPlayerView(); setDecodeView(); } + private void setSubtitleView() { + setSubtitle(Setting.getSubtitle()); + getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getExo().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + getIjk().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + } + private void setPlayerView() { getIjk().setPlayer(mPlayers.getPlayer()); mBinding.control.speed.setText(mPlayers.getSpeedText()); 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 b1bb6573f..15cab687b 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 @@ -150,6 +150,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP mR4 = this::hideUI; Server.get().start(); setRecyclerView(); + setSubtitleView(); setVideoView(); setDisplayView(); setViewModel(); @@ -211,14 +212,19 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, GroupP private void setVideoView() { mPlayers.set(getExo(), getIjk()); setScale(Setting.getLiveScale()); - setSubtitle(Setting.getSubtitle()); mBinding.control.invert.setActivated(Setting.isInvert()); mBinding.control.across.setActivated(Setting.isAcross()); mBinding.control.change.setActivated(Setting.isChange()); findViewById(R.id.timeBar).setNextFocusUpId(R.id.player); + mBinding.control.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE); + } + + private void setSubtitleView() { + setSubtitle(Setting.getSubtitle()); getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); - mBinding.control.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE); + getExo().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + getIjk().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); } private void setDisplayView() { 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 f4f2f5f44..9798169ff 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 @@ -329,6 +329,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List setBackground(false); setRecyclerView(); setEpisodeView(); + setSubtitleView(); setVideoView(); setDisplayView(); setDanmuView(); @@ -448,10 +449,15 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List private void setVideoView() { mPlayers.set(getExo(), getIjk()); - getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); - getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Setting.getReset()]); + } + + private void setSubtitleView() { setSubtitle(16); + getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getExo().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + getIjk().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); } private void setDanmuViewSettings() { 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 b20485104..77e5ec0a2 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 @@ -174,6 +174,7 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom Server.get().start(); setForeground(true); setRecyclerView(); + setSubtitleView(); setVideoView(); setDisplayView(); setViewModel(); @@ -234,15 +235,20 @@ public class LiveActivity extends BaseActivity implements Clock.Callback, Custom private void setVideoView() { mPlayers.set(getExo(), getIjk()); setScale(Setting.getLiveScale()); - setSubtitle(Setting.getSubtitle()); - getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); - getIjk().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()); mBinding.control.action.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE); } + private void setSubtitleView() { + setSubtitle(Setting.getSubtitle()); + getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getExo().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + getIjk().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + } + private void setDisplayView() { mBinding.display.getRoot().setVisibility(View.VISIBLE); mBinding.display.progress.setVisibility(View.GONE); 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 1ace075bb..1c48ed9ce 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 @@ -319,6 +319,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo mPiP = new PiP(); setForeground(true); setRecyclerView(); + setSubtitleView(); setVideoView(); setDisplayView(); setDanmuView(); @@ -412,11 +413,16 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo private void setVideoView() { mPlayers.set(getExo(), getIjk()); if (isPort() && ResUtil.isLand(this)) enterFullscreen(); - getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); - getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); mBinding.control.action.reset.setText(ResUtil.getStringArray(R.array.select_reset)[Setting.getReset()]); mBinding.video.addOnLayoutChangeListener((view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> mPiP.update(getActivity(), view)); + } + + private void setSubtitleView() { setSubtitle(14); + getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getIjk().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); + getExo().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); + getIjk().getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption()); } public void setDanmuViewSettings() {