PlaybackVideoFragment.kt
1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.apaas.bigscreem
import android.net.Uri
import android.os.Bundle
import androidx.leanback.app.VideoSupportFragment
import androidx.leanback.app.VideoSupportFragmentGlueHost
import androidx.leanback.media.MediaPlayerAdapter
import androidx.leanback.media.PlaybackTransportControlGlue
import androidx.leanback.widget.PlaybackControlsRow
/** Handles video playback with media controls. */
class PlaybackVideoFragment : VideoSupportFragment() {
private lateinit var mTransportControlGlue: PlaybackTransportControlGlue<MediaPlayerAdapter>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val (_, title, description, _, _, videoUrl) =
activity?.intent?.getSerializableExtra(DetailsActivity.MOVIE) as Movie
val glueHost = VideoSupportFragmentGlueHost(this@PlaybackVideoFragment)
val playerAdapter = MediaPlayerAdapter(context)
playerAdapter.setRepeatAction(PlaybackControlsRow.RepeatAction.INDEX_NONE)
mTransportControlGlue = PlaybackTransportControlGlue(getActivity(), playerAdapter)
mTransportControlGlue.host = glueHost
mTransportControlGlue.title = title
mTransportControlGlue.subtitle = description
mTransportControlGlue.playWhenPrepared()
playerAdapter.setDataSource(Uri.parse(videoUrl))
}
override fun onPause() {
super.onPause()
mTransportControlGlue.pause()
}
}