diff options
author | Simon Dai <sdai@google.com> | 2019-09-30 12:46:57 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-09-30 12:46:57 -0700 |
commit | f435af30a0bc1abec39ac91384b7e8fd2cbd7083 (patch) | |
tree | bc2306f1aa68b7d4ea01ac5b7bc5811e06d92234 | |
parent | c5fe23534f6f7c2b9f7c39259e737bcb91c96a37 (diff) | |
parent | bff6f29087dcef4cd9238e71295dd00ae7e2d3ac (diff) | |
download | tests-f435af30a0bc1abec39ac91384b7e8fd2cbd7083.tar.gz |
Handle prepare() in test media app am: 27d90a9a99 am: eb6cde9db1
am: bff6f29087
Change-Id: Ic30b0c7a9536a54d3996c56f405bede277f43fac
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); |