Remove Constructor of RemoteUserInfo which takes IBinder
This CL reverts the API change in previously merged CL
"b505f0a: AML: Unhide 4-params constructor of RemoteUserInfo".
Bug: 119752205, Bug: 122550211
Test: make update-api -j; make -j;
atest CtsMediaTestCases:android.media.cts.MediaSessionTest;
atest CtsMediaTestCases:android.media.cts.MediaControllerTest;
atest CtsMediaTestCases:android.media.cts.MediaBrowserTest;
atest CtsMediaTestCases:android.media.cts.MediaBrowserServiceTest;
atest CtsMediaTestCases:android.media.cts.MediaBrowserServiceTest;
Change-Id: I5d6835af4d931c001287126c394db48d65bb09f8
diff --git a/api/current.txt b/api/current.txt
index efd805c..035d1ad 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -27460,7 +27460,6 @@
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();
diff --git a/media/java/android/media/session/MediaSessionEngine.java b/media/java/android/media/session/MediaSessionEngine.java
index c4634a9..f159a95 100644
--- a/media/java/android/media/session/MediaSessionEngine.java
+++ b/media/java/android/media/session/MediaSessionEngine.java
@@ -989,10 +989,8 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
MediaSessionEngine sessionImpl = mSessionImpl.get();
if (sessionImpl != null) {
sessionImpl.dispatchSkipToItem(
- createRemoteUserInfo(packageName, pid, uid, caller), id);
+ createRemoteUserInfo(packageName, pid, uid), id);
}
}
@@ -1131,7 +1129,7 @@
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 @@
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 @@
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 @@
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 @@
MediaSessionEngine sessionImpl = mSessionImpl.get();
if (sessionImpl != null) {
sessionImpl.dispatchFastForward(
- createRemoteUserInfo(packageName, pid, uid, caller));
+ createRemoteUserInfo(packageName, pid, uid));
}
}
@@ -1177,7 +1175,7 @@
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 @@
MediaSessionEngine sessionImpl = mSessionImpl.get();
if (sessionImpl != null) {
sessionImpl.dispatchSeekTo(
- createRemoteUserInfo(packageName, pid, uid, caller), pos);
+ createRemoteUserInfo(packageName, pid, uid), pos);
}
}
@@ -1197,7 +1195,7 @@
MediaSessionEngine sessionImpl = mSessionImpl.get();
if (sessionImpl != null) {
sessionImpl.dispatchRate(
- createRemoteUserInfo(packageName, pid, uid, caller), rating);
+ createRemoteUserInfo(packageName, pid, uid), rating);
}
}
@@ -1207,7 +1205,7 @@
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 @@
MediaSessionEngine sessionImpl = mSessionImpl.get();
if (sessionImpl != null) {
sessionImpl.dispatchAdjustVolume(
- createRemoteUserInfo(packageName, pid, uid, caller), direction);
+ createRemoteUserInfo(packageName, pid, uid), direction);
}
}
@@ -1227,7 +1225,7 @@
MediaSessionEngine sessionImpl = mSessionImpl.get();
if (sessionImpl != null) {
sessionImpl.dispatchSetVolumeTo(
- createRemoteUserInfo(packageName, pid, uid, caller), value);
+ createRemoteUserInfo(packageName, pid, uid), value);
}
}
diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java
index 3f4fbb9..c64c452 100644
--- a/media/java/android/media/session/MediaSessionManager.java
+++ b/media/java/android/media/session/MediaSessionManager.java
@@ -28,7 +28,6 @@
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.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 @@
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 @@
* @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 @@
}
/**
- * 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 @@
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
diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java
index d19d117..2fbc699 100644
--- a/media/java/android/service/media/MediaBrowserService.java
+++ b/media/java/android/service/media/MediaBrowserService.java
@@ -541,8 +541,7 @@
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);
}
/**