From b997b60d195bbde9ec522fd9b4def1b688abcc56 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Fri, 28 Oct 2022 21:21:46 +0200 Subject: [PATCH] layout improvements --- .../libretube/ui/fragments/PlayerFragment.kt | 2 ++ .../libretube/ui/views/MarkableTimeBar.kt | 17 +++++++++++++---- app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt index 3ebd91b41..8d19010ef 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt @@ -629,6 +629,8 @@ class PlayerFragment : BaseFragment() { } private fun playVideo() { + playerBinding.exoProgress.clearSegments() + lifecycleScope.launchWhenCreated { streams = try { RetrofitInstance.api.getStreams(videoId!!) diff --git a/app/src/main/java/com/github/libretube/ui/views/MarkableTimeBar.kt b/app/src/main/java/com/github/libretube/ui/views/MarkableTimeBar.kt index ddb82d450..7ab544689 100644 --- a/app/src/main/java/com/github/libretube/ui/views/MarkableTimeBar.kt +++ b/app/src/main/java/com/github/libretube/ui/views/MarkableTimeBar.kt @@ -10,13 +10,14 @@ import com.github.libretube.api.obj.Segment import com.google.android.exoplayer2.Player import com.google.android.exoplayer2.ui.DefaultTimeBar +/** + * TimeBar that can be marked with SponsorBlock Segments + */ class MarkableTimeBar( context: Context, attributeSet: AttributeSet? = null ) : DefaultTimeBar(context, attributeSet) { - private val HORIZONTAL_OFFSET = 5 - private var segments: List = listOf(Segment(segment = listOf(1f, 10f)), Segment(segment = listOf(20f, 30f))) private var player: Player? = null private var length: Int = 0 @@ -30,14 +31,14 @@ class MarkableTimeBar( if (player == null) return canvas.save() - length = canvas.width + length = canvas.width - 2 * HORIZONTAL_OFFSET val marginY = canvas.height / 2 - 3 segments.forEach { canvas.drawRect( Rect( - it.segment!!.first().toLength(), + it.segment!!.first().toLength() + HORIZONTAL_OFFSET, marginY, it.segment.last().toLength(), canvas.height - marginY @@ -62,7 +63,15 @@ class MarkableTimeBar( this.segments = segments } + fun clearSegments() { + segments = listOf() + } + fun setPlayer(player: Player) { this.player = player } + + companion object { + const val HORIZONTAL_OFFSET = 8 + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e69f7711e..7c8300a5d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -350,6 +350,8 @@ Added to playlist Playing queue Queue + TimeBar Markers + Mark the segments on the time bar. Download Service