Keep subtitle text size

pull/586/head
FongMi 2 years ago
parent f0cb01a0b5
commit 31a12fdb3b
  1. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  5. 8
      app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java
  6. 3
      app/src/main/java/com/fongmi/android/tv/ui/dialog/SubtitleDialog.java
  7. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  8. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -85,7 +85,6 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
mParser = new DIDLParser();
mR1 = this::hideControl;
mR2 = this::setTraffic;
setSubtitleView();
setVideoView();
checkAction();
}
@ -135,6 +134,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
private void setVideoView() {
mPlayers.init(mBinding.exo);
setScale(scale = Setting.getScale());
ExoUtil.setSubtitleView(mBinding.exo);
findViewById(R.id.timeBar).setNextFocusUpId(R.id.reset);
mBinding.control.speed.setText(mPlayers.getSpeedText());
mBinding.control.decode.setText(mPlayers.getDecodeText());
@ -142,12 +142,6 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
mBinding.control.reset.setText(ResUtil.getStringArray(R.array.select_reset)[0]);
}
private void setSubtitleView() {
mBinding.exo.getSubtitleView().setApplyEmbeddedFontSizes(false);
mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle());
mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption());
}
private void setDecode() {
mBinding.control.decode.setText(mPlayers.getDecodeText());
}

@ -132,7 +132,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mR4 = this::hideUI;
Server.get().start();
setRecyclerView();
setSubtitleView();
setVideoView();
setViewModel();
checkLive();
@ -182,6 +181,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setVideoView() {
mPlayers.init(mBinding.exo);
setScale(Setting.getLiveScale());
ExoUtil.setSubtitleView(mBinding.exo);
findViewById(R.id.timeBar).setNextFocusUpId(R.id.player);
mBinding.control.invert.setActivated(Setting.isInvert());
mBinding.control.across.setActivated(Setting.isAcross());
@ -192,12 +192,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mBinding.control.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE);
}
private void setSubtitleView() {
mBinding.exo.getSubtitleView().setApplyEmbeddedFontSizes(false);
mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle());
mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption());
}
private void setDecode() {
mBinding.control.decode.setText(mPlayers.getDecodeText());
}

@ -285,7 +285,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
mR4 = this::showEmpty;
setBackground(false);
setRecyclerView();
setSubtitleView();
setVideoView();
setViewModel();
checkCast();
@ -374,17 +373,12 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void setVideoView() {
mPlayers.init(mBinding.exo);
ExoUtil.setSubtitleView(mBinding.exo);
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().setApplyEmbeddedFontSizes(false);
mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle());
mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption());
}
private void setDecode() {
mBinding.control.decode.setText(mPlayers.getDecodeText());
}

@ -257,6 +257,14 @@ public class Setting {
Prefers.put("speed", speed);
}
public static float getSubtitleTextSize() {
return Prefers.getFloat("subtitle_text_size");
}
public static void putSubtitleTextSize(float size) {
Prefers.put("subtitle_text_size", size);
}
public static float getThumbnail() {
return 0.3f * getQuality() + 0.4f;
}

@ -25,6 +25,7 @@ import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector;
import androidx.media3.exoplayer.trackselection.TrackSelector;
import androidx.media3.ui.CaptionStyleCompat;
import androidx.media3.ui.PlayerView;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.BuildConfig;
@ -85,6 +86,13 @@ public class ExoUtil {
setTrackParameters(player, group, trackIndices);
}
public static void setSubtitleView(PlayerView exo) {
exo.getSubtitleView().setStyle(getCaptionStyle());
exo.getSubtitleView().setApplyEmbeddedFontSizes(false);
exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption());
if (Setting.getSubtitleTextSize() > 0) exo.getSubtitleView().setFractionalTextSize(Setting.getSubtitleTextSize());
}
public static String getMimeType(String path) {
if (TextUtils.isEmpty(path)) return "";
if (path.endsWith(".vtt")) return MimeTypes.TEXT_VTT;

@ -11,6 +11,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.media3.ui.SubtitleView;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.Setting;
import com.fongmi.android.tv.databinding.DialogSubtitleBinding;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -58,10 +59,12 @@ public final class SubtitleDialog extends BaseDialog {
private void onLarge(View view) {
subtitleView.addTextSize(0.002f);
Setting.putSubtitleTextSize(subtitleView.getTextSize());
}
private void onSmall(View view) {
subtitleView.subTextSize(0.002f);
Setting.putSubtitleTextSize(subtitleView.getTextSize());
}
private void onReset(View view) {

@ -157,7 +157,6 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
Server.get().start();
setForeground(true);
setRecyclerView();
setSubtitleView();
setVideoView();
setViewModel();
checkLive();
@ -201,6 +200,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
private void setVideoView() {
mPlayers.init(mBinding.exo);
setScale(Setting.getLiveScale());
ExoUtil.setSubtitleView(mBinding.exo);
mBinding.control.action.invert.setActivated(Setting.isInvert());
mBinding.control.action.across.setActivated(Setting.isAcross());
mBinding.control.action.change.setActivated(Setting.isChange());
@ -211,12 +211,6 @@ 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() {
mBinding.exo.getSubtitleView().setApplyEmbeddedFontSizes(false);
mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle());
mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption());
}
private void setDecode() {
mBinding.control.action.decode.setText(mPlayers.getDecodeText());
}

@ -295,7 +295,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
mPiP = new PiP();
setForeground(true);
setRecyclerView();
setSubtitleView();
setVideoView();
setViewModel();
showProgress();
@ -368,6 +367,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private void setVideoView() {
mPlayers.init(mBinding.exo);
ExoUtil.setSubtitleView(mBinding.exo);
if (isPort() && ResUtil.isLand(this)) enterFullscreen();
mBinding.control.action.decode.setText(mPlayers.getDecodeText());
mBinding.control.action.speed.setEnabled(mPlayers.canAdjustSpeed());
@ -383,12 +383,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
}
}
private void setSubtitleView() {
mBinding.exo.getSubtitleView().setApplyEmbeddedFontSizes(false);
mBinding.exo.getSubtitleView().setStyle(ExoUtil.getCaptionStyle());
mBinding.exo.getSubtitleView().setApplyEmbeddedStyles(!Setting.isCaption());
}
private void setDecode() {
mBinding.control.action.decode.setText(mPlayers.getDecodeText());
}

Loading…
Cancel
Save