Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f12bc28 authored by RoboErik's avatar RoboErik Committed by Android Git Automerger
Browse files

am a59c7f03: am dff59b8b: am 23df1c46: Merge "Allow null queues to be set in...

am a59c7f03: am dff59b8b: am 23df1c46: Merge "Allow null queues to be set in MediaSession" into lmp-dev

* commit 'a59c7f03a9db8af35fc37f5076054aab77cde887':
  Allow null queues to be set in MediaSession
parents f8eece5a 1f033d38
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -204,7 +204,8 @@ public class Media extends BaseCommand {


        @Override
        @Override
        public void onQueueChanged(ParceledListSlice queue) throws RemoteException {
        public void onQueueChanged(ParceledListSlice queue) throws RemoteException {
            System.out.println("onQueueChanged, size=" + queue.getList().size());
            System.out.println("onQueueChanged, "
                    + (queue == null ? "null queue" : " size=" + queue.getList().size()));
        }
        }


        @Override
        @Override
+2 −1
Original line number Original line Diff line number Diff line
@@ -918,7 +918,8 @@ public final class MediaController {


        @Override
        @Override
        public void onQueueChanged(ParceledListSlice parceledQueue) {
        public void onQueueChanged(ParceledListSlice parceledQueue) {
            List<MediaSession.QueueItem> queue = parceledQueue.getList();
            List<MediaSession.QueueItem> queue = parceledQueue == null ? null : parceledQueue
                    .getList();
            MediaController controller = mController.get();
            MediaController controller = mController.get();
            if (controller != null) {
            if (controller != null) {
                controller.postMessage(MSG_UPDATE_QUEUE, queue, null);
                controller.postMessage(MSG_UPDATE_QUEUE, queue, null);
+1 −1
Original line number Original line Diff line number Diff line
@@ -427,7 +427,7 @@ public final class MediaSession {
     */
     */
    public void setQueue(@Nullable List<QueueItem> queue) {
    public void setQueue(@Nullable List<QueueItem> queue) {
        try {
        try {
            mBinder.setQueue(new ParceledListSlice<QueueItem>(queue));
            mBinder.setQueue(queue == null ? null : new ParceledListSlice<QueueItem>(queue));
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            Log.wtf("Dead object in setQueue.", e);
            Log.wtf("Dead object in setQueue.", e);
        }
        }
+12 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Bitmap;
import android.media.MediaMetadata;
import android.media.MediaMetadata;
import android.media.session.MediaSession;
import android.media.session.MediaSession;
import android.media.session.MediaSession.QueueItem;
import android.media.session.MediaSessionManager;
import android.media.session.MediaSessionManager;
import android.media.session.PlaybackState;
import android.media.session.PlaybackState;
import android.os.Bundle;
import android.os.Bundle;
@@ -44,6 +45,8 @@ public class PlayerSession {
    protected MediaSession.Callback mCallback;
    protected MediaSession.Callback mCallback;
    protected Renderer.Listener mRenderListener;
    protected Renderer.Listener mRenderListener;
    protected MediaMetadata.Builder mMetadataBuilder;
    protected MediaMetadata.Builder mMetadataBuilder;
    protected ArrayList<MediaSession.QueueItem> mQueue;
    protected boolean mUseQueue;


    protected PlaybackState mPlaybackState;
    protected PlaybackState mPlaybackState;
    protected Listener mListener;
    protected Listener mListener;
@@ -58,6 +61,7 @@ public class PlayerSession {
        PlaybackState.Builder psBob = new PlaybackState.Builder();
        PlaybackState.Builder psBob = new PlaybackState.Builder();
        psBob.setActions(PlaybackState.ACTION_PAUSE | PlaybackState.ACTION_PLAY);
        psBob.setActions(PlaybackState.ACTION_PAUSE | PlaybackState.ACTION_PLAY);
        mPlaybackState = psBob.build();
        mPlaybackState = psBob.build();
        mQueue = new ArrayList<MediaSession.QueueItem>();


        mRenderer.registerListener(mRenderListener);
        mRenderer.registerListener(mRenderListener);


@@ -114,6 +118,8 @@ public class PlayerSession {


    public void setIcon(Bitmap icon) {
    public void setIcon(Bitmap icon) {
        mMetadataBuilder.putBitmap(MediaMetadata.METADATA_KEY_DISPLAY_ICON, icon);
        mMetadataBuilder.putBitmap(MediaMetadata.METADATA_KEY_DISPLAY_ICON, icon);
        mQueue.clear();
        mQueue.add(new QueueItem(mMetadataBuilder.build().getDescription(), 11));
        updateMetadata();
        updateMetadata();
    }
    }


@@ -122,6 +128,10 @@ public class PlayerSession {
        // code
        // code
        if (mSession != null && mSession.isActive()) {
        if (mSession != null && mSession.isActive()) {
            mSession.setMetadata(mMetadataBuilder.build());
            mSession.setMetadata(mMetadataBuilder.build());
            // Just toggle the queue every time we update for testing
            mSession.setQueue(mUseQueue ? mQueue : null);
            mSession.setQueueTitle(mUseQueue ? "Queue title" : null);
            mUseQueue = !mUseQueue;
        }
        }
    }
    }


@@ -141,6 +151,8 @@ public class PlayerSession {
                "OneMedia display title");
                "OneMedia display title");
        mMetadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_SUBTITLE,
        mMetadataBuilder.putString(MediaMetadata.METADATA_KEY_DISPLAY_SUBTITLE,
                "OneMedia display subtitle");
                "OneMedia display subtitle");

        mQueue.add(new QueueItem(mMetadataBuilder.build().getDescription(), 11));
    }
    }


    public interface Listener {
    public interface Listener {