Compare commits

...

1 commit

Author SHA1 Message Date
firelight
6ccbd574d6
Fix subtitleoffset 2026-06-22 23:28:10 +00:00

View file

@ -531,9 +531,22 @@ open class FullScreenPlayer : AbstractPlayerFragment<FragmentPlayerBinding>(
var currentOffset = subtitleDelay var currentOffset = subtitleDelay
binding.apply { binding.apply {
var subtitleAdapter: SubtitleOffsetItemAdapter? = null
subtitleOffsetInput.doOnTextChanged { text, _, _, _ -> subtitleOffsetInput.doOnTextChanged { text, _, _, _ ->
text?.toString()?.toLongOrNull()?.let { time -> text?.toString()?.toLongOrNull()?.let { time ->
currentOffset = time currentOffset = time
// Scroll to the first active subtitle
val playerPosition = player.getPosition() ?: 0
val totalPosition = playerPosition - currentOffset
subtitleAdapter?.updateTime(totalPosition)
subtitleAdapter?.getLatestActiveItem(totalPosition)
?.let { subtitlePos ->
subtitleOffsetRecyclerview.scrollToPosition(subtitlePos)
}
val str = when { val str = when {
time > 0L -> { time > 0L -> {
txt(R.string.subtitle_offset_extra_hint_later_format, time) txt(R.string.subtitle_offset_extra_hint_later_format, time)
@ -559,7 +572,7 @@ open class FullScreenPlayer : AbstractPlayerFragment<FragmentPlayerBinding>(
noSubtitlesLoadedNotice.isVisible = subtitles.isEmpty() noSubtitlesLoadedNotice.isVisible = subtitles.isEmpty()
val initialSubtitlePosition = (player.getPosition() ?: 0) - currentOffset val initialSubtitlePosition = (player.getPosition() ?: 0) - currentOffset
val subtitleAdapter = subtitleAdapter =
SubtitleOffsetItemAdapter(initialSubtitlePosition) { subtitleCue -> SubtitleOffsetItemAdapter(initialSubtitlePosition) { subtitleCue ->
val playerPosition = player.getPosition() ?: 0 val playerPosition = player.getPosition() ?: 0
subtitleOffsetInput.text = Editable.Factory.getInstance() subtitleOffsetInput.text = Editable.Factory.getInstance()