From 5d6d069e4e946a46884a838482567ff085e88283 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 10 Oct 2022 09:33:21 +0000 Subject: [PATCH] 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 --- .../media3/demo/session/PlayableFolderActivity.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt b/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt index f92bb3367f..9c6f3e5b4a 100644 --- a/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt +++ b/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt @@ -30,6 +30,7 @@ import android.widget.ListView import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat +import androidx.media3.common.C import androidx.media3.common.MediaItem import androidx.media3.common.Player import androidx.media3.session.MediaBrowser @@ -68,10 +69,13 @@ class PlayableFolderActivity : AppCompatActivity() { mediaList.setOnItemClickListener { _, _, position, _ -> run { val browser = this.browser ?: return@run - browser.setMediaItems(subItemMediaList) + browser.setMediaItems( + subItemMediaList, + /* startIndex= */ position, + /* startPositionMs= */ C.TIME_UNSET + ) browser.shuffleModeEnabled = false browser.prepare() - browser.seekToDefaultPosition(/* windowIndex= */ position) browser.play() val intent = Intent(this, PlayerActivity::class.java) startActivity(intent)