mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 16:00:31 +05:30
layout improvements
This commit is contained in:
parent
6de599a310
commit
b997b60d19
@ -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!!)
|
||||||
|
@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user