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

Commit 073edf0e authored by Hyundo Moon's avatar Hyundo Moon
Browse files

Remove MediaSessionEngine

Bug: 128970771
Test: atest CtsMediaTestCases:android.media.cts.MediaSessionTest;
      atest CtsMediaTestCases:android.media.cts.MediaControllerTest;
      atest CtsMediaTestCases:android.media.cts.MediaBrowserTest;
      atest CtsMediaTestCases:android.media.cts.MediaSessionManagerTest;
Change-Id: I7276de966b17b4b5c806e2b9c5ac5e4646e2fd07
parent 3ec026d6
Loading
Loading
Loading
Loading
+599 −61

File changed.

Preview size limit exceeded, changes collapsed.

+0 −1236

File deleted.

Preview size limit exceeded, changes collapsed.

+79 −84
Original line number Original line Diff line number Diff line
@@ -49,9 +49,9 @@ public final class SessionCallbackLink implements Parcelable {
     * Constructor for stub (Callee)
     * Constructor for stub (Callee)
     * @hide
     * @hide
     */
     */
    public SessionCallbackLink(@NonNull Context context) {
    public SessionCallbackLink(@NonNull Context context, MediaSession session) {
        mContext = context;
        mContext = context;
        mISessionCallback = new CallbackStub();
        mISessionCallback = new CallbackStub(session);
    }
    }


    /**
    /**
@@ -62,15 +62,6 @@ public final class SessionCallbackLink implements Parcelable {
        mISessionCallback = ISessionCallback.Stub.asInterface(binder);
        mISessionCallback = ISessionCallback.Stub.asInterface(binder);
    }
    }


    /**
     * Set {@link MediaSessionEngine} which will be used by {@link CallbackStub}.
     */
    void setSessionEngine(@Nullable MediaSessionEngine sessionImpl) {
        if (mISessionCallback instanceof CallbackStub) {
            ((CallbackStub) mISessionCallback).mSessionImpl = new WeakReference<>(sessionImpl);
        }
    }

    /**
    /**
     * Notify session that a controller sends a command.
     * Notify session that a controller sends a command.
     *
     *
@@ -568,7 +559,11 @@ public final class SessionCallbackLink implements Parcelable {
            };
            };


    private class CallbackStub extends ISessionCallback.Stub {
    private class CallbackStub extends ISessionCallback.Stub {
        private WeakReference<MediaSessionEngine> mSessionImpl;
        private WeakReference<MediaSession> mMediaSession;

        private CallbackStub(MediaSession session) {
            mMediaSession = new WeakReference<>(session);
        }


        private RemoteUserInfo createRemoteUserInfo(String packageName, int pid, int uid) {
        private RemoteUserInfo createRemoteUserInfo(String packageName, int pid, int uid) {
            return new RemoteUserInfo(packageName, pid, uid);
            return new RemoteUserInfo(packageName, pid, uid);
@@ -580,9 +575,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchCommand(createRemoteUserInfo(packageName, pid, uid),
                    session.dispatchCommand(createRemoteUserInfo(packageName, pid, uid),
                            command, args, cb);
                            command, args, cb);
                }
                }
            } finally {
            } finally {
@@ -596,9 +591,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchMediaButton(
                    session.dispatchMediaButton(
                            createRemoteUserInfo(packageName, pid, uid), mediaButtonIntent);
                            createRemoteUserInfo(packageName, pid, uid), mediaButtonIntent);
                }
                }
            } finally {
            } finally {
@@ -615,9 +610,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchMediaButton(createRemoteUserInfo(packageName, pid, uid),
                    session.dispatchMediaButton(createRemoteUserInfo(packageName, pid, uid),
                            mediaButtonIntent);
                            mediaButtonIntent);
                }
                }
            } finally {
            } finally {
@@ -631,9 +626,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPrepare(createRemoteUserInfo(packageName, pid, uid));
                    session.dispatchPrepare(createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
                Binder.restoreCallingIdentity(token);
                Binder.restoreCallingIdentity(token);
@@ -646,9 +641,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPrepareFromMediaId(
                    session.dispatchPrepareFromMediaId(
                            createRemoteUserInfo(packageName, pid, uid), mediaId, extras);
                            createRemoteUserInfo(packageName, pid, uid), mediaId, extras);
                }
                }
            } finally {
            } finally {
@@ -662,9 +657,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPrepareFromSearch(
                    session.dispatchPrepareFromSearch(
                            createRemoteUserInfo(packageName, pid, uid), query, extras);
                            createRemoteUserInfo(packageName, pid, uid), query, extras);
                }
                }
            } finally {
            } finally {
@@ -678,9 +673,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPrepareFromUri(
                    session.dispatchPrepareFromUri(
                            createRemoteUserInfo(packageName, pid, uid), uri, extras);
                            createRemoteUserInfo(packageName, pid, uid), uri, extras);
                }
                }
            } finally {
            } finally {
@@ -694,9 +689,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPlay(createRemoteUserInfo(packageName, pid, uid));
                    session.dispatchPlay(createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
                Binder.restoreCallingIdentity(token);
                Binder.restoreCallingIdentity(token);
@@ -709,9 +704,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPlayFromMediaId(
                    session.dispatchPlayFromMediaId(
                            createRemoteUserInfo(packageName, pid, uid), mediaId, extras);
                            createRemoteUserInfo(packageName, pid, uid), mediaId, extras);
                }
                }
            } finally {
            } finally {
@@ -725,9 +720,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPlayFromSearch(
                    session.dispatchPlayFromSearch(
                            createRemoteUserInfo(packageName, pid, uid), query, extras);
                            createRemoteUserInfo(packageName, pid, uid), query, extras);
                }
                }
            } finally {
            } finally {
@@ -741,9 +736,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPlayFromUri(
                    session.dispatchPlayFromUri(
                            createRemoteUserInfo(packageName, pid, uid), uri, extras);
                            createRemoteUserInfo(packageName, pid, uid), uri, extras);
                }
                }
            } finally {
            } finally {
@@ -757,9 +752,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchSkipToItem(
                    session.dispatchSkipToItem(
                            createRemoteUserInfo(packageName, pid, uid), id);
                            createRemoteUserInfo(packageName, pid, uid), id);
                }
                }
            } finally {
            } finally {
@@ -773,9 +768,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPause(createRemoteUserInfo(packageName, pid, uid));
                    session.dispatchPause(createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
                Binder.restoreCallingIdentity(token);
                Binder.restoreCallingIdentity(token);
@@ -788,9 +783,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchStop(createRemoteUserInfo(packageName, pid, uid));
                    session.dispatchStop(createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
                Binder.restoreCallingIdentity(token);
                Binder.restoreCallingIdentity(token);
@@ -803,9 +798,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchNext(createRemoteUserInfo(packageName, pid, uid));
                    session.dispatchNext(createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
                Binder.restoreCallingIdentity(token);
                Binder.restoreCallingIdentity(token);
@@ -818,9 +813,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchPrevious(createRemoteUserInfo(packageName, pid, uid));
                    session.dispatchPrevious(createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
                Binder.restoreCallingIdentity(token);
                Binder.restoreCallingIdentity(token);
@@ -833,9 +828,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchFastForward(
                    session.dispatchFastForward(
                            createRemoteUserInfo(packageName, pid, uid));
                            createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
@@ -849,9 +844,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchRewind(createRemoteUserInfo(packageName, pid, uid));
                    session.dispatchRewind(createRemoteUserInfo(packageName, pid, uid));
                }
                }
            } finally {
            } finally {
                Binder.restoreCallingIdentity(token);
                Binder.restoreCallingIdentity(token);
@@ -864,9 +859,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchSeekTo(
                    session.dispatchSeekTo(
                            createRemoteUserInfo(packageName, pid, uid), pos);
                            createRemoteUserInfo(packageName, pid, uid), pos);
                }
                }
            } finally {
            } finally {
@@ -880,9 +875,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchRate(
                    session.dispatchRate(
                            createRemoteUserInfo(packageName, pid, uid), rating);
                            createRemoteUserInfo(packageName, pid, uid), rating);
                }
                }
            } finally {
            } finally {
@@ -896,9 +891,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchSetPlaybackSpeed(
                    session.dispatchSetPlaybackSpeed(
                            createRemoteUserInfo(packageName, pid, uid), speed);
                            createRemoteUserInfo(packageName, pid, uid), speed);
                }
                }
            } finally {
            } finally {
@@ -912,9 +907,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchCustomAction(
                    session.dispatchCustomAction(
                            createRemoteUserInfo(packageName, pid, uid), action, args);
                            createRemoteUserInfo(packageName, pid, uid), action, args);
                }
                }
            } finally {
            } finally {
@@ -928,9 +923,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchAdjustVolume(
                    session.dispatchAdjustVolume(
                            createRemoteUserInfo(packageName, pid, uid), direction);
                            createRemoteUserInfo(packageName, pid, uid), direction);
                }
                }
            } finally {
            } finally {
@@ -944,9 +939,9 @@ public final class SessionCallbackLink implements Parcelable {
            ensureMediaControlPermission();
            ensureMediaControlPermission();
            final long token = Binder.clearCallingIdentity();
            final long token = Binder.clearCallingIdentity();
            try {
            try {
                MediaSessionEngine sessionImpl = mSessionImpl.get();
                MediaSession session = mMediaSession.get();
                if (sessionImpl != null) {
                if (session != null) {
                    sessionImpl.dispatchSetVolumeTo(
                    session.dispatchSetVolumeTo(
                            createRemoteUserInfo(packageName, pid, uid), value);
                            createRemoteUserInfo(packageName, pid, uid), value);
                }
                }
            } finally {
            } finally {