mirror of
https://github.com/androidx/media.git
synced 2025-05-09 16:40:55 +08:00
Set new playlist and start index with one command
PlayableFolderActivity currently uses two seperate commands to set the playlist and then seek to the requested item. This is slightly inefficient and also causes analytics listeners to believe the first item in the playlist was briefly active. #minor-release Issue: androidx/media#180 PiperOrigin-RevId: 480031682 (cherry picked from commit 5d6d069e4e946a46884a838482567ff085e88283)
This commit is contained in:
parent
b436001e32
commit
d35f67a8a6
@ -30,6 +30,7 @@ import android.widget.ListView
|
|||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import androidx.media3.common.C
|
||||||
import androidx.media3.common.MediaItem
|
import androidx.media3.common.MediaItem
|
||||||
import androidx.media3.common.Player
|
import androidx.media3.common.Player
|
||||||
import androidx.media3.session.MediaBrowser
|
import androidx.media3.session.MediaBrowser
|
||||||
@ -68,10 +69,13 @@ class PlayableFolderActivity : AppCompatActivity() {
|
|||||||
mediaList.setOnItemClickListener { _, _, position, _ ->
|
mediaList.setOnItemClickListener { _, _, position, _ ->
|
||||||
run {
|
run {
|
||||||
val browser = this.browser ?: return@run
|
val browser = this.browser ?: return@run
|
||||||
browser.setMediaItems(subItemMediaList)
|
browser.setMediaItems(
|
||||||
|
subItemMediaList,
|
||||||
|
/* startIndex= */ position,
|
||||||
|
/* startPositionMs= */ C.TIME_UNSET
|
||||||
|
)
|
||||||
browser.shuffleModeEnabled = false
|
browser.shuffleModeEnabled = false
|
||||||
browser.prepare()
|
browser.prepare()
|
||||||
browser.seekToDefaultPosition(/* windowIndex= */ position)
|
|
||||||
browser.play()
|
browser.play()
|
||||||
val intent = Intent(this, PlayerActivity::class.java)
|
val intent = Intent(this, PlayerActivity::class.java)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user