layout improvements

This commit is contained in:
Bnyro 2022-10-28 21:21:46 +02:00
parent 6de599a310
commit b997b60d19
3 changed files with 17 additions and 4 deletions

View File

@ -629,6 +629,8 @@ class PlayerFragment : BaseFragment() {
} }
private fun playVideo() { private fun playVideo() {
playerBinding.exoProgress.clearSegments()
lifecycleScope.launchWhenCreated { lifecycleScope.launchWhenCreated {
streams = try { streams = try {
RetrofitInstance.api.getStreams(videoId!!) RetrofitInstance.api.getStreams(videoId!!)

View File

@ -10,13 +10,14 @@ import com.github.libretube.api.obj.Segment
import com.google.android.exoplayer2.Player import com.google.android.exoplayer2.Player
import com.google.android.exoplayer2.ui.DefaultTimeBar import com.google.android.exoplayer2.ui.DefaultTimeBar
/**
* TimeBar that can be marked with SponsorBlock Segments
*/
class MarkableTimeBar( class MarkableTimeBar(
context: Context, context: Context,
attributeSet: AttributeSet? = null attributeSet: AttributeSet? = null
) : DefaultTimeBar(context, attributeSet) { ) : DefaultTimeBar(context, attributeSet) {
private val HORIZONTAL_OFFSET = 5
private var segments: List<Segment> = listOf(Segment(segment = listOf(1f, 10f)), Segment(segment = listOf(20f, 30f))) private var segments: List<Segment> = listOf(Segment(segment = listOf(1f, 10f)), Segment(segment = listOf(20f, 30f)))
private var player: Player? = null private var player: Player? = null
private var length: Int = 0 private var length: Int = 0
@ -30,14 +31,14 @@ class MarkableTimeBar(
if (player == null) return if (player == null) return
canvas.save() canvas.save()
length = canvas.width length = canvas.width - 2 * HORIZONTAL_OFFSET
val marginY = canvas.height / 2 - 3 val marginY = canvas.height / 2 - 3
segments.forEach { segments.forEach {
canvas.drawRect( canvas.drawRect(
Rect( Rect(
it.segment!!.first().toLength(), it.segment!!.first().toLength() + HORIZONTAL_OFFSET,
marginY, marginY,
it.segment.last().toLength(), it.segment.last().toLength(),
canvas.height - marginY canvas.height - marginY
@ -62,7 +63,15 @@ class MarkableTimeBar(
this.segments = segments this.segments = segments
} }
fun clearSegments() {
segments = listOf()
}
fun setPlayer(player: Player) { fun setPlayer(player: Player) {
this.player = player this.player = player
} }
companion object {
const val HORIZONTAL_OFFSET = 8
}
} }

View File

@ -350,6 +350,8 @@
<string name="added_to_playlist">Added to playlist</string> <string name="added_to_playlist">Added to playlist</string>
<string name="playing_queue">Playing queue</string> <string name="playing_queue">Playing queue</string>
<string name="queue">Queue</string> <string name="queue">Queue</string>
<string name="sb_markers">TimeBar Markers</string>
<string name="sb_markers_summary">Mark the segments on the time bar.</string>
<!-- Notification channel strings --> <!-- Notification channel strings -->
<string name="download_channel_name">Download Service</string> <string name="download_channel_name">Download Service</string>