diff options
author | Simon Dai <sdai@google.com> | 2019-09-25 18:07:34 -0700 |
---|---|---|
committer | Simon Dai <sdai@google.com> | 2019-09-26 18:02:26 -0700 |
commit | 27d90a9a9965c40ed330ec16cb3d5fe630a9fecb (patch) | |
tree | bc2306f1aa68b7d4ea01ac5b7bc5811e06d92234 /TestMediaApp/src | |
parent | 0ff14f2087fad2a0570bf0fafb6749fc56a42cc3 (diff) | |
download | tests-27d90a9a9965c40ed330ec16cb3d5fe630a9fecb.tar.gz |
Handle prepare() in test media app
Now prepares the first playable item (in root) for playback
Test: Manual
Change-Id: I647c1ed518eb672bc89ad831daaedb6817c7b588
Diffstat (limited to 'TestMediaApp/src')
3 files changed, 24 insertions, 5 deletions
diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java index 2281ded..ec57473 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java @@ -152,10 +152,7 @@ public class TmaBrowser extends MediaBrowserServiceCompat { Preconditions.checkNotNull(queue); mSession.setQueue(queue.buildQueue()); - TmaMediaItem firstItem = queue.getPlayableByIndex(0); - if (firstItem != null) { - mPlayer.onPrepareFromMediaId(firstItem.getMediaId(), null); - } + mPlayer.prepareMediaItem(queue.getPlayableByIndex(0)); } } diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java index 591f4cf..5c53d34 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java @@ -123,7 +123,11 @@ public class TmaMediaItem { return mParent; } + @Nullable TmaMediaItem getPlayableByIndex(long index) { + if (index < 0 || index >= mPlayableChildren.size()) { + return null; + } return mPlayableChildren.get((int)index); } diff --git a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java index 7612cd3..3df5653 100644 --- a/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java +++ b/TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java @@ -150,6 +150,25 @@ public class TmaPlayer extends MediaSessionCompat.Callback { super.onPrepareFromMediaId(mediaId, extras); TmaMediaItem item = mLibrary.getMediaItemById(mediaId); + prepareMediaItem(item); + } + + @Override + public void onPrepare() { + super.onPrepare(); + if (!mSession.isActive()) { + mSession.setActive(true); + } + // Prepare the first playable item (at root level) as the active item + if (mActiveItem == null) { + TmaMediaItem root = mLibrary.getRoot(mPrefs.mRootNodeType.getValue()); + if (root != null) { + prepareMediaItem(root.getPlayableByIndex(0)); + } + } + } + + void prepareMediaItem(@Nullable TmaMediaItem item) { if (item != null && item.getParent() != null) { if (mIsPlaying) { stopPlayback(); @@ -166,7 +185,6 @@ public class TmaPlayer extends MediaSessionCompat.Callback { } } - @Override public void onSkipToQueueItem(long id) { super.onSkipToQueueItem(id); |