mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Update playlist UI when playlist is updated
When changing the playlist on Android Auto the UI of the activity needs to be kept in sync. PiperOrigin-RevId: 569528785 (cherry picked from commit 52d9fbff73cddd5c0881f6fd53a6ba35220d0ed1)
This commit is contained in:
parent
12332a4afc
commit
4acce9bcae
@ -32,7 +32,9 @@ import androidx.media3.common.C.TRACK_TYPE_TEXT
|
|||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
import androidx.media3.common.MediaMetadata
|
import androidx.media3.common.MediaMetadata
|
||||||
import androidx.media3.common.Player
|
import androidx.media3.common.Player
|
||||||
import androidx.media3.common.Tracks
|
import androidx.media3.common.Player.EVENT_MEDIA_ITEM_TRANSITION
|
||||||
|
import androidx.media3.common.Player.EVENT_TRACKS_CHANGED
|
||||||
|
import androidx.media3.common.Timeline
|
||||||
import androidx.media3.common.util.UnstableApi
|
import androidx.media3.common.util.UnstableApi
|
||||||
import androidx.media3.session.MediaController
|
import androidx.media3.session.MediaController
|
||||||
import androidx.media3.session.SessionToken
|
import androidx.media3.session.SessionToken
|
||||||
@ -113,12 +115,19 @@ class PlayerActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
controller.addListener(
|
controller.addListener(
|
||||||
object : Player.Listener {
|
object : Player.Listener {
|
||||||
override fun onMediaItemTransition(mediaItem: MediaItem?, reason: Int) {
|
override fun onTimelineChanged(timeline: Timeline, reason: Int) {
|
||||||
updateMediaMetadataUI(mediaItem?.mediaMetadata ?: MediaMetadata.EMPTY)
|
if (reason == Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED) {
|
||||||
|
updateCurrentPlaylistUI()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTracksChanged(tracks: Tracks) {
|
override fun onEvents(player: Player, events: Player.Events) {
|
||||||
playerView.setShowSubtitleButton(tracks.isTypeSupported(TRACK_TYPE_TEXT))
|
if (events.contains(EVENT_MEDIA_ITEM_TRANSITION)) {
|
||||||
|
updateMediaMetadataUI(player.currentMediaItem?.mediaMetadata ?: MediaMetadata.EMPTY)
|
||||||
|
}
|
||||||
|
if (events.contains(EVENT_TRACKS_CHANGED)) {
|
||||||
|
playerView.setShowSubtitleButton(player.currentTracks.isTypeSupported(TRACK_TYPE_TEXT))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user