Skip to content

Commit b3054e9

Browse files
authored
Fix: Subtitle preview with elevation, Closes #2053
1 parent 5898eb2 commit b3054e9

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

app/src/main/java/com/lagradost/cloudstream3/ui/player/PlayerSubtitleHelper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ class PlayerSubtitleHelper {
118118
fun setSubStyle(style: SaveCaptionStyle) {
119119
Log.i(TAG, "SET STYLE = $style")
120120
subtitleView?.translationY = -style.elevation.toPx.toFloat()
121-
setSubtitleViewStyle(subtitleView, style)
121+
setSubtitleViewStyle(subtitleView, style, true)
122122
}
123123

124124
fun initSubtitles(subView: SubtitleView?, subHolder: FrameLayout?, style: SaveCaptionStyle?) {

app/src/main/java/com/lagradost/cloudstream3/ui/subtitles/SubtitlesFragment.kt

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,21 @@ class SubtitlesFragment : DialogFragment() {
9595
val applyStyleEvent = Event<SaveCaptionStyle>()
9696
private val captionRegex = Regex("""(-\s?|)[\[({][\S\s]*?[])}]\s*""")
9797

98-
fun setSubtitleViewStyle(view: SubtitleView?, data: SaveCaptionStyle) {
98+
fun setSubtitleViewStyle(
99+
view: SubtitleView?,
100+
data: SaveCaptionStyle,
101+
applyElevation: Boolean
102+
) {
99103
if (view == null) return
100104
val ctx = view.context ?: return
101105
val style = ctx.fromSaveToStyle(data)
102106
view.setStyle(style)
103-
view.setPadding(
104-
view.paddingLeft, data.elevation.toPx, view.paddingRight, view.paddingBottom
105-
)
107+
108+
if (applyElevation) {
109+
view.setPadding(
110+
view.paddingLeft, data.elevation.toPx, view.paddingRight, view.paddingBottom
111+
)
112+
}
106113

107114
// we default to 25sp, this is needed as RoundedBackgroundColorSpan breaks on override sizes
108115
val size = data.fixedTextSize ?: 25.0f
@@ -317,7 +324,7 @@ class SubtitlesFragment : DialogFragment() {
317324
private fun Context.updateState() {
318325
val text = getString(R.string.subtitles_example_text)
319326
val fixedText = SpannableString.valueOf(if (state.upperCase) text.uppercase() else text)
320-
setSubtitleViewStyle(binding?.subtitleText, state)
327+
setSubtitleViewStyle(binding?.subtitleText, state, false)
321328

322329
binding?.subtitleText?.setCues(
323330
listOf(
@@ -704,11 +711,17 @@ class SubtitlesFragment : DialogFragment() {
704711
subsAutoSelectLanguage.setFocusableInTv()
705712
subsAutoSelectLanguage.setOnClickListener { textView ->
706713
val languagesTagName =
707-
listOf( Pair(textView.context.getString(R.string.none),
708-
textView.context.getString(R.string.none))) +
709-
languages
710-
.map { Pair(it.IETF_tag, it.nameNextToFlagEmoji()) }
711-
.sortedBy { it.second.substringAfter("\u00a0").lowercase() } // name ignoring flag emoji
714+
listOf(
715+
Pair(
716+
textView.context.getString(R.string.none),
717+
textView.context.getString(R.string.none)
718+
)
719+
) +
720+
languages
721+
.map { Pair(it.IETF_tag, it.nameNextToFlagEmoji()) }
722+
.sortedBy {
723+
it.second.substringAfter("\u00a0").lowercase()
724+
} // name ignoring flag emoji
712725

713726
val (langTagsIETF, langNames) = languagesTagName.unzip()
714727

@@ -734,13 +747,15 @@ class SubtitlesFragment : DialogFragment() {
734747
val languagesTagName =
735748
languages
736749
.map { Pair(it.IETF_tag, it.nameNextToFlagEmoji()) }
737-
.sortedBy { it.second.substringAfter("\u00a0").lowercase() } // name ignoring flag emoji
750+
.sortedBy {
751+
it.second.substringAfter("\u00a0").lowercase()
752+
} // name ignoring flag emoji
738753

739754
val (langTagsIETF, langNames) = languagesTagName.unzip()
740755

741756
val selectedLanguages = getDownloadSubsLanguageTagIETF()
742-
.map { langTagsIETF.indexOf(it) }
743-
.filter { it >= 0 }
757+
.map { langTagsIETF.indexOf(it) }
758+
.filter { it >= 0 }
744759

745760
activity?.showMultiDialog(
746761
langNames,

0 commit comments

Comments
 (0)