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

Commit 448fb122 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Remove Constructor of RemoteUserInfo which takes IBinder"

parents bdba7efd eb9bf73b
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -27460,7 +27460,6 @@ package android.media.session {
  public static final class MediaSessionManager.RemoteUserInfo {
    ctor public MediaSessionManager.RemoteUserInfo(@NonNull String, int, int);
    ctor public MediaSessionManager.RemoteUserInfo(String, int, int, android.os.IBinder);
    method public String getPackageName();
    method public int getPid();
    method public int getUid();
+25 −27
Original line number Diff line number Diff line
@@ -989,10 +989,8 @@ public final class MediaSessionEngine implements AutoCloseable {
    public static final class CallbackStub extends SessionCallbackLink.CallbackStub {
        private WeakReference<MediaSessionEngine> mSessionImpl;

        private static RemoteUserInfo createRemoteUserInfo(String packageName, int pid, int uid,
                ControllerCallbackLink caller) {
            return new RemoteUserInfo(packageName, pid, uid,
                    caller != null ? caller.getBinder() : null);
        private static RemoteUserInfo createRemoteUserInfo(String packageName, int pid, int uid) {
            return new RemoteUserInfo(packageName, pid, uid);
        }

        public CallbackStub() {
@@ -1003,7 +1001,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller, String command, Bundle args, ResultReceiver cb) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchCommand(createRemoteUserInfo(packageName, pid, uid, caller),
                sessionImpl.dispatchCommand(createRemoteUserInfo(packageName, pid, uid),
                        command, args, cb);
            }
        }
@@ -1015,7 +1013,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            try {
                if (sessionImpl != null) {
                    sessionImpl.dispatchMediaButton(
                            createRemoteUserInfo(packageName, pid, uid, null), mediaButtonIntent);
                            createRemoteUserInfo(packageName, pid, uid), mediaButtonIntent);
                }
            } finally {
                if (cb != null) {
@@ -1029,7 +1027,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller, Intent mediaButtonIntent) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchMediaButton(createRemoteUserInfo(packageName, pid, uid, caller),
                sessionImpl.dispatchMediaButton(createRemoteUserInfo(packageName, pid, uid),
                        mediaButtonIntent);
            }
        }
@@ -1039,7 +1037,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPrepare(createRemoteUserInfo(packageName, pid, uid, caller));
                sessionImpl.dispatchPrepare(createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1050,7 +1048,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPrepareFromMediaId(
                        createRemoteUserInfo(packageName, pid, uid, caller), mediaId, extras);
                        createRemoteUserInfo(packageName, pid, uid), mediaId, extras);
            }
        }

@@ -1061,7 +1059,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPrepareFromSearch(
                        createRemoteUserInfo(packageName, pid, uid, caller), query, extras);
                        createRemoteUserInfo(packageName, pid, uid), query, extras);
            }
        }

@@ -1071,7 +1069,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPrepareFromUri(
                        createRemoteUserInfo(packageName, pid, uid, caller), uri, extras);
                        createRemoteUserInfo(packageName, pid, uid), uri, extras);
            }
        }

@@ -1080,7 +1078,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPlay(createRemoteUserInfo(packageName, pid, uid, caller));
                sessionImpl.dispatchPlay(createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1091,7 +1089,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPlayFromMediaId(
                        createRemoteUserInfo(packageName, pid, uid, caller), mediaId, extras);
                        createRemoteUserInfo(packageName, pid, uid), mediaId, extras);
            }
        }

@@ -1102,7 +1100,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPlayFromSearch(
                        createRemoteUserInfo(packageName, pid, uid, caller), query, extras);
                        createRemoteUserInfo(packageName, pid, uid), query, extras);
            }
        }

@@ -1112,7 +1110,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPlayFromUri(
                        createRemoteUserInfo(packageName, pid, uid, caller), uri, extras);
                        createRemoteUserInfo(packageName, pid, uid), uri, extras);
            }
        }

@@ -1122,7 +1120,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchSkipToItem(
                        createRemoteUserInfo(packageName, pid, uid, caller), id);
                        createRemoteUserInfo(packageName, pid, uid), id);
            }
        }

@@ -1131,7 +1129,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPause(createRemoteUserInfo(packageName, pid, uid, caller));
                sessionImpl.dispatchPause(createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1140,7 +1138,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchStop(createRemoteUserInfo(packageName, pid, uid, caller));
                sessionImpl.dispatchStop(createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1149,7 +1147,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchNext(createRemoteUserInfo(packageName, pid, uid, caller));
                sessionImpl.dispatchNext(createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1158,7 +1156,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchPrevious(createRemoteUserInfo(packageName, pid, uid, caller));
                sessionImpl.dispatchPrevious(createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1168,7 +1166,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchFastForward(
                        createRemoteUserInfo(packageName, pid, uid, caller));
                        createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1177,7 +1175,7 @@ public final class MediaSessionEngine implements AutoCloseable {
                ControllerCallbackLink caller) {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchRewind(createRemoteUserInfo(packageName, pid, uid, caller));
                sessionImpl.dispatchRewind(createRemoteUserInfo(packageName, pid, uid));
            }
        }

@@ -1187,7 +1185,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchSeekTo(
                        createRemoteUserInfo(packageName, pid, uid, caller), pos);
                        createRemoteUserInfo(packageName, pid, uid), pos);
            }
        }

@@ -1197,7 +1195,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchRate(
                        createRemoteUserInfo(packageName, pid, uid, caller), rating);
                        createRemoteUserInfo(packageName, pid, uid), rating);
            }
        }

@@ -1207,7 +1205,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchCustomAction(
                        createRemoteUserInfo(packageName, pid, uid, caller), action, args);
                        createRemoteUserInfo(packageName, pid, uid), action, args);
            }
        }

@@ -1217,7 +1215,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchAdjustVolume(
                        createRemoteUserInfo(packageName, pid, uid, caller), direction);
                        createRemoteUserInfo(packageName, pid, uid), direction);
            }
        }

@@ -1227,7 +1225,7 @@ public final class MediaSessionEngine implements AutoCloseable {
            MediaSessionEngine sessionImpl = mSessionImpl.get();
            if (sessionImpl != null) {
                sessionImpl.dispatchSetVolumeTo(
                        createRemoteUserInfo(packageName, pid, uid, caller), value);
                        createRemoteUserInfo(packageName, pid, uid), value);
            }
        }

+6 −24
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import android.media.AudioManager;
import android.media.IRemoteVolumeController;
import android.media.MediaSession2;
import android.media.Session2Token;
import android.media.browse.MediaBrowser;
import android.os.Handler;
import android.os.IBinder;
import android.os.RemoteException;
@@ -37,6 +36,7 @@ import android.os.ServiceManager;
import android.os.UserHandle;
import android.service.media.MediaBrowserService;
import android.service.notification.NotificationListenerService;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.Log;
import android.view.KeyEvent;
@@ -797,7 +797,6 @@ public final class MediaSessionManager {
        private final String mPackageName;
        private final int mPid;
        private final int mUid;
        private final IBinder mCallerBinder;

        /**
         * Create a new remote user information.
@@ -807,22 +806,9 @@ public final class MediaSessionManager {
         * @param uid The uid of the remote user
         */
        public RemoteUserInfo(@NonNull String packageName, int pid, int uid) {
            this(packageName, pid, uid, null);
        }

        /**
         * Create a new remote user information.
         *
         * @param packageName The package name of the remote user
         * @param pid The pid of the remote user
         * @param uid The uid of the remote user
         * @param callerBinder The binder of the remote user. Can be {@code null}.
         */
        public RemoteUserInfo(String packageName, int pid, int uid, IBinder callerBinder) {
            mPackageName = packageName;
            mPid = pid;
            mUid = uid;
            mCallerBinder = callerBinder;
        }

        /**
@@ -847,13 +833,8 @@ public final class MediaSessionManager {
        }

        /**
         * Returns equality of two RemoteUserInfo. Two RemoteUserInfos are the same only if they're
         * sent to the same controller (either {@link MediaController} or
         * {@link MediaBrowser}. If it's not nor one of them is triggered by the key presses, they
         * would be considered as different one.
         * <p>
         * If you only want to compare the caller's package, compare them with the
         * {@link #getPackageName()}, {@link #getPid()}, and/or {@link #getUid()} directly.
         * Returns equality of two RemoteUserInfo. Two RemoteUserInfo objects are equal
         * if and only if they have the same package name, same pid, and same uid.
         *
         * @param obj the reference object with which to compare.
         * @return {@code true} if equals, {@code false} otherwise
@@ -867,8 +848,9 @@ public final class MediaSessionManager {
                return true;
            }
            RemoteUserInfo otherUserInfo = (RemoteUserInfo) obj;
            return (mCallerBinder == null || otherUserInfo.mCallerBinder == null) ? false
                    : mCallerBinder.equals(otherUserInfo.mCallerBinder);
            return TextUtils.equals(mPackageName, otherUserInfo.mPackageName)
                    && mPid == otherUserInfo.mPid
                    && mUid == otherUserInfo.mUid;
        }

        @Override
+1 −2
Original line number Diff line number Diff line
@@ -541,8 +541,7 @@ public abstract class MediaBrowserService extends Service {
            throw new IllegalStateException("This should be called inside of onGetRoot or"
                    + " onLoadChildren or onLoadItem methods");
        }
        return new RemoteUserInfo(mCurConnection.pkg, mCurConnection.pid, mCurConnection.uid,
                mCurConnection.callbacks.asBinder());
        return new RemoteUserInfo(mCurConnection.pkg, mCurConnection.pid, mCurConnection.uid);
    }

    /**