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

Commit 8ee260d7 authored by Sungsoo Lim's avatar Sungsoo Lim Committed by android-build-merger
Browse files

Remove MediaPlaylistController, add MediaPlaylistAgent

am: 873deb0c

Change-Id: Ic0da90c5018b71cb832ae483b5a3ba372ff8f91e
parents ef201fb5 873deb0c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ import android.media.MediaLibraryService2.MediaLibrarySession;
import android.media.MediaLibraryService2.MediaLibrarySession.Builder;
import android.media.MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback;
import android.media.MediaPlayerBase;
import android.media.MediaPlaylistController;
import android.media.MediaPlaylistAgent;
import android.media.MediaSession2;
import android.media.MediaSession2.ControllerInfo;
import android.media.MediaSessionService2;
@@ -68,7 +68,7 @@ public class MediaLibraryService2Impl extends MediaSessionService2Impl implement
    public static class MediaLibrarySessionImpl extends MediaSession2Impl
            implements MediaLibrarySessionProvider {
        public MediaLibrarySessionImpl(Context context,
                MediaPlayerBase player, String id, MediaPlaylistController mplc,
                MediaPlayerBase player, String id, MediaPlaylistAgent mplc,
                VolumeProvider2 volumeProvider,
                PendingIntent sessionActivity, Executor callbackExecutor,
                MediaLibrarySessionCallback callback) {
+6 −8
Original line number Diff line number Diff line
@@ -21,14 +21,12 @@ import static android.media.SessionToken2.TYPE_LIBRARY_SERVICE;
import static android.media.SessionToken2.TYPE_SESSION;
import static android.media.SessionToken2.TYPE_SESSION_SERVICE;

import android.Manifest.permission;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
import android.media.AudioAttributes;
import android.media.AudioManager;
@@ -39,7 +37,7 @@ import android.media.MediaLibraryService2;
import android.media.MediaMetadata2;
import android.media.MediaPlayerBase;
import android.media.MediaPlayerBase.PlayerEventCallback;
import android.media.MediaPlaylistController;
import android.media.MediaPlaylistAgent;
import android.media.MediaSession2;
import android.media.MediaSession2.Builder;
import android.media.MediaSession2.Command;
@@ -107,7 +105,7 @@ public class MediaSession2Impl implements MediaSession2Provider {
    @GuardedBy("mLock")
    private MediaPlayerBase mPlayer;
    @GuardedBy("mLock")
    private MediaPlaylistController mMplc;
    private MediaPlaylistAgent mMplc;
    @GuardedBy("mLock")
    private VolumeProvider2 mVolumeProvider;
    @GuardedBy("mLock")
@@ -127,7 +125,7 @@ public class MediaSession2Impl implements MediaSession2Provider {
     * @param callback
     */
    public MediaSession2Impl(Context context, MediaPlayerBase player, String id,
            MediaPlaylistController mplc, VolumeProvider2 volumeProvider,
            MediaPlaylistAgent mplc, VolumeProvider2 volumeProvider,
            PendingIntent sessionActivity,
            Executor callbackExecutor, SessionCallback callback) {
        // TODO(jaewan): Keep other params.
@@ -206,7 +204,7 @@ public class MediaSession2Impl implements MediaSession2Provider {
    }

    @Override
    public void updatePlayer_impl(MediaPlayerBase player, MediaPlaylistController mplc,
    public void updatePlayer_impl(MediaPlayerBase player, MediaPlaylistAgent mplc,
            VolumeProvider2 volumeProvider) throws IllegalArgumentException {
        ensureCallingThread();
        if (player == null) {
@@ -1271,7 +1269,7 @@ public class MediaSession2Impl implements MediaSession2Provider {
        String mId;
        Executor mCallbackExecutor;
        C mCallback;
        MediaPlaylistController mMplc;
        MediaPlaylistAgent mMplc;
        VolumeProvider2 mVolumeProvider;
        PendingIntent mSessionActivity;

@@ -1300,7 +1298,7 @@ public class MediaSession2Impl implements MediaSession2Provider {
        }

        @Override
        public void setPlaylistController_impl(MediaPlaylistController mplc) {
        public void setPlaylistController_impl(MediaPlaylistAgent mplc) {
            if (mplc == null) {
                throw new IllegalArgumentException("mplc shouldn't be null");
            }
+2 −2
Original line number Diff line number Diff line
@@ -435,10 +435,10 @@ public class MediaSession2Stub extends IMediaSession2.Stub {
                    session.getInstance().stop();
                    break;
                case MediaSession2.COMMAND_CODE_PLAYBACK_SKIP_PREV_ITEM:
                    session.getInstance().skipToPrevious();
                    session.getInstance().skipToPreviousItem();
                    break;
                case MediaSession2.COMMAND_CODE_PLAYBACK_SKIP_NEXT_ITEM:
                    session.getInstance().skipToNext();
                    session.getInstance().skipToNextItem();
                    break;
                case MediaSession2.COMMAND_CODE_PLAYBACK_PREPARE:
                    session.getInstance().prepare();
+7 −7
Original line number Diff line number Diff line
@@ -118,8 +118,8 @@ public class MediaController2Test extends MediaSession2TestBase {

    @Ignore
    @Test
    public void testSkipToPrevious() throws InterruptedException {
        mController.skipToPrevious();
    public void testSkipToPreviousItem() throws InterruptedException {
        mController.skipToPreviousItem();
        try {
            assertTrue(mPlayer.mCountDownLatch.await(WAIT_TIME_MS, TimeUnit.MILLISECONDS));
        } catch (InterruptedException e) {
@@ -129,8 +129,8 @@ public class MediaController2Test extends MediaSession2TestBase {
    }

    @Test
    public void testSkipToNext() throws InterruptedException {
        mController.skipToNext();
    public void testSkipToNextItem() throws InterruptedException {
        mController.skipToNextItem();
        try {
            assertTrue(mPlayer.mCountDownLatch.await(WAIT_TIME_MS, TimeUnit.MILLISECONDS));
        } catch (InterruptedException e) {
@@ -211,7 +211,7 @@ public class MediaController2Test extends MediaSession2TestBase {
        } catch (InterruptedException e) {
            fail(e.getMessage());
        }
        assertTrue(mPlayer.mSetCurrentPlaylistItemCalled);
        assertTrue(mPlayer.mSetCurrentPlaylistCalled);
        assertEquals(itemIndex, mPlayer.mCurrentItem);
    }
    */
@@ -622,9 +622,9 @@ public class MediaController2Test extends MediaSession2TestBase {
                    player.notifyPlaybackState(state);
                    controller.stop();
                    player.notifyPlaybackState(state);
                    controller.skipToNext();
                    controller.skipToNextItem();
                    player.notifyPlaybackState(state);
                    controller.skipToPrevious();
                    controller.skipToPreviousItem();
                }
                // This may hang if deadlock happens.
                latch.countDown();
+5 −5
Original line number Diff line number Diff line
@@ -189,18 +189,18 @@ public class MediaSession2Test extends MediaSession2TestBase {
    }

    @Test
    public void testSkipToNext() throws Exception {
    public void testSkipToNextItem() throws Exception {
        sHandler.postAndSync(() -> {
            mSession.skipToNext();
            mSession.skipToNextItem();
            assertTrue(mPlayer.mSkipToNextCalled);
        });
    }

    @Ignore
    @Test
    public void testSkipToPrevious() throws Exception {
    public void testSkipToPreviousItem() throws Exception {
        sHandler.postAndSync(() -> {
            mSession.skipToPrevious();
            mSession.skipToPreviousItem();
            assertTrue(mPlayer.mSkipToPreviousCalled);
        });
    }
@@ -356,7 +356,7 @@ public class MediaSession2Test extends MediaSession2TestBase {
        assertEquals(1, callback.commands.size());
        assertEquals(MediaSession2.COMMAND_CODE_PLAYBACK_PAUSE,
                (long) callback.commands.get(0).getCommandCode());
        controller.skipToNext();
        controller.skipToNextItem();
        assertTrue(mPlayer.mCountDownLatch.await(WAIT_TIME_MS, TimeUnit.MILLISECONDS));
        assertTrue(mPlayer.mSkipToNextCalled);
        assertFalse(mPlayer.mPauseCalled);
Loading