aboutsummaryrefslogtreecommitdiff
path: root/TestMediaApp/src
diff options
context:
space:
mode:
authorSimon Dai <sdai@google.com>2019-09-25 18:07:34 -0700
committerSimon Dai <sdai@google.com>2019-09-26 18:02:26 -0700
commit27d90a9a9965c40ed330ec16cb3d5fe630a9fecb (patch)
treebc2306f1aa68b7d4ea01ac5b7bc5811e06d92234 /TestMediaApp/src
parent0ff14f2087fad2a0570bf0fafb6749fc56a42cc3 (diff)
downloadtests-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')
-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);