diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt
index c82d3788..f340f234 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/GeneratorPlayer.kt
@@ -545,10 +545,14 @@ class GeneratorPlayer : FullScreenPlayer() {
tvType = meta.tvType
}
}
-
- player_episode_filler_holder?.isVisible = isFiller ?: false
-
- player_video_title?.text = if (headerName != null) {
+ //Get limit of characters on Video Title
+ var limitTitle = 0
+ context?.let {
+ val settingsManager = PreferenceManager.getDefaultSharedPreferences(it)
+ limitTitle = settingsManager.getInt(getString(R.string.prefer_limit_title_key), 0)
+ }
+ //Generate video title
+ var playerVideoTitle = if (headerName != null) {
(headerName +
if (tvType.isEpisodeBased() && episode != null)
if (season == null)
@@ -559,6 +563,15 @@ class GeneratorPlayer : FullScreenPlayer() {
} else {
""
}
+ //Truncate video title if it exceeds limit
+ val differenceInLength = playerVideoTitle.length - limitTitle
+ val margin = 3 //If the difference is smaller than or equal to this value, ignore it
+ if (limitTitle > 0 && differenceInLength > margin) {
+ playerVideoTitle = playerVideoTitle.substring(0, limitTitle-1) + "..."
+ }
+
+ player_episode_filler_holder?.isVisible = isFiller ?: false
+ player_video_title?.text = playerVideoTitle
}
@SuppressLint("SetTextI18n")
diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt
index cb7f1138..90ca1acb 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/SettingsFragment.kt
@@ -705,6 +705,24 @@ class SettingsFragment : PreferenceFragmentCompat() {
return@setOnPreferenceClickListener true
}
+ getPref(R.string.prefer_limit_title_key)?.setOnPreferenceClickListener {
+ val prefNames = resources.getStringArray(R.array.limit_title_pref_names)
+ val prefValues = resources.getIntArray(R.array.limit_title_pref_values)
+ val current = settingsManager.getInt(getString(R.string.prefer_limit_title_key), 0)
+
+ activity?.showBottomDialog(
+ prefNames.toList(),
+ prefValues.indexOf(current),
+ getString(R.string.limit_title),
+ true,
+ {}) {
+ settingsManager.edit()
+ .putInt(getString(R.string.prefer_limit_title_key), prefValues[it])
+ .apply()
+ }
+ return@setOnPreferenceClickListener true
+ }
+
getPref(R.string.dns_key)?.setOnPreferenceClickListener {
val prefNames = resources.getStringArray(R.array.dns_pref)
val prefValues = resources.getIntArray(R.array.dns_pref_values)
diff --git a/app/src/main/res/drawable/ic_baseline_text_format_24.xml b/app/src/main/res/drawable/ic_baseline_text_format_24.xml
new file mode 100644
index 00000000..ca03854f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseline_text_format_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml
index 8cd09501..e8795592 100644
--- a/app/src/main/res/values/array.xml
+++ b/app/src/main/res/values/array.xml
@@ -59,6 +59,21 @@
- 3
+
+ - @string/none
+ - 16 characters
+ - 32 characters
+ - 64 characters
+ - 128 characters
+
+
+ - 0
+ - 16
+ - 32
+ - 64
+ - 128
+
+
- @string/automatic
- 1min
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index eb644776..8d355814 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -13,6 +13,7 @@
subtitle_settings_key
subtitle_settings_chromecast_key
quality_pref_key
+ prefer_limit_title_key
video_buffer_size_key
video_buffer_length_key
video_buffer_clear_key
@@ -348,6 +349,7 @@
Don\'t show again
Update
Preferred watch quality
+ Limit title characters on player
Video buffer size
Video buffer length
Video cache on disk
diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml
index c73765a6..e70d7ad9 100644
--- a/app/src/main/res/xml/settings.xml
+++ b/app/src/main/res/xml/settings.xml
@@ -20,6 +20,10 @@
android:key="@string/quality_pref_key"
android:title="@string/watch_quality_pref"
android:icon="@drawable/ic_baseline_hd_24" />
+