Merge pull request #11806 from Thompson3142/fix_subtitle_size

Fix caption sizes not being changed
This commit is contained in:
Stypox 2025-01-25 18:10:56 +01:00 committed by GitHub
commit 83f8141fe7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 8 additions and 9 deletions

View file

@ -25,9 +25,7 @@ import android.graphics.Color;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.provider.Settings; import android.provider.Settings;
import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
import android.util.TypedValue;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@ -44,6 +42,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.google.android.exoplayer2.ui.SubtitleView;
import com.google.android.exoplayer2.video.VideoSize; import com.google.android.exoplayer2.video.VideoSize;
import org.schabi.newpipe.R; import org.schabi.newpipe.R;
@ -522,11 +521,8 @@ public final class MainPlayerUi extends VideoPlayerUi implements View.OnLayoutCh
@Override @Override
protected void setupSubtitleView(final float captionScale) { protected void setupSubtitleView(final float captionScale) {
final DisplayMetrics metrics = context.getResources().getDisplayMetrics(); binding.subtitleView.setFractionalTextSize(
final int minimumLength = Math.min(metrics.heightPixels, metrics.widthPixels); SubtitleView.DEFAULT_TEXT_SIZE_FRACTION * captionScale);
final float captionRatioInverse = 20f + 4f * (1.0f - captionScale);
binding.subtitleView.setFixedTextSize(
TypedValue.COMPLEX_UNIT_PX, minimumLength / captionRatioInverse);
} }
//endregion //endregion

View file

@ -424,9 +424,8 @@ public final class PopupPlayerUi extends VideoPlayerUi {
@Override @Override
protected void setupSubtitleView(final float captionScale) { protected void setupSubtitleView(final float captionScale) {
final float captionRatio = (captionScale - 1.0f) / 5.0f + 1.0f;
binding.subtitleView.setFractionalTextSize( binding.subtitleView.setFractionalTextSize(
SubtitleView.DEFAULT_TEXT_SIZE_FRACTION * captionRatio); SubtitleView.DEFAULT_TEXT_SIZE_FRACTION * captionScale);
} }
@Override @Override

View file

@ -1414,6 +1414,10 @@ public abstract class VideoPlayerUi extends PlayerUi implements SeekBar.OnSeekBa
binding.subtitleView.setStyle(captionStyle); binding.subtitleView.setStyle(captionStyle);
} }
/**
*
* @param captionScale Value returned by {@link PlayerHelper#getCaptionScale}.
*/
protected abstract void setupSubtitleView(float captionScale); protected abstract void setupSubtitleView(float captionScale);
//endregion //endregion