ttml subtitles: repeated lines fix

This commit is contained in:
Yuriy Liskov
2025-08-04 00:03:56 +03:00
parent 05054e053f
commit a1be864fea
3 changed files with 11 additions and 7 deletions

View File

@@ -101,11 +101,15 @@ public class SubtitleManager implements TextOutput, OnDataChange {
for (Cue cue : cues) {
// Autogenerated subs repeated lines fix
// if (cue.text.toString().endsWith("\n")) {
if (Helpers.endsWithAny(cue.text.toString(), "\n", " ")) {
String textStr = cue.text.toString();
if (Helpers.endsWithAny(textStr, "\n", " ")) { // vtt subs format
subsBuffer = cue.text;
} else if (textStr.contains("\n")) { // ttml subs format
String[] split = textStr.split("\n");
CharSequence text = split.length == 2 ? split[1] : cue.text;
result.add(new Cue(text)); // sub centered by default
} else {
CharSequence text = subsBuffer != null ? cue.text.toString().replace(subsBuffer, "") : cue.text;
CharSequence text = subsBuffer != null ? textStr.replace(subsBuffer, "") : cue.text;
result.add(new Cue(text)); // sub centered by default
subsBuffer = null;
}

View File

@@ -60,8 +60,8 @@ android {
applicationId "com.liskovsoft.smarttubetv"
minSdkVersion project.properties.minSdkVersion
targetSdkVersion project.properties.targetSdkVersion
versionCode 2088
versionName "28.98"
versionCode 2089
versionName "28.99"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "long", "TIMESTAMP", System.currentTimeMillis() + "L"

View File

@@ -1,5 +1,5 @@
-keep class com.liskovsoft.smartyoutubetv2.common.app.models.playback.controllers.VideoStateController
-keep class com.liskovsoft.smartyoutubetv2.tv.ui.browse.BrowseSectionFragmentFactory
-keepnames class com.liskovsoft.smartyoutubetv2.common.app.models.playback.controllers.VideoStateController
-keepnames class com.liskovsoft.smartyoutubetv2.tv.ui.browse.BrowseSectionFragmentFactory
-keepclassmembers class androidx.room.RoomDatabase {
androidx.sqlite.db.SupportSQLiteDatabase mDatabase;
<init>(...);