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
This commit is contained in:
Hyundo Moon
2019-01-23 13:32:36 +09:00
parent ca626b6319
commit eb9bf73b21
4 changed files with 32 additions and 54 deletions

View File

@@ -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();

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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);
}
/**