aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Dai <sdai@google.com>2019-09-30 12:46:57 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-09-30 12:46:57 -0700
commitf435af30a0bc1abec39ac91384b7e8fd2cbd7083 (patch)
treebc2306f1aa68b7d4ea01ac5b7bc5811e06d92234
parentc5fe23534f6f7c2b9f7c39259e737bcb91c96a37 (diff)
parentbff6f29087dcef4cd9238e71295dd00ae7e2d3ac (diff)
downloadtests-f435af30a0bc1abec39ac91384b7e8fd2cbd7083.tar.gz
Handle prepare() in test media app am: 27d90a9a99 am: eb6cde9db1
am: bff6f29087 Change-Id: Ic30b0c7a9536a54d3996c56f405bede277f43fac
-rw-r--r--TestMediaApp/src/com/android/car/media/testmediaapp/TmaBrowser.java5
-rw-r--r--TestMediaApp/src/com/android/car/media/testmediaapp/TmaMediaItem.java4
-rw-r--r--TestMediaApp/src/com/android/car/media/testmediaapp/TmaPlayer.java20
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);