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

Commit bdca7e3b authored by Jin Seok Park's avatar Jin Seok Park Committed by Android (Google) Code Review
Browse files

Merge "Unhide MediaSessionManager APIs"

parents 0edc2569 1777b87a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -27426,15 +27426,24 @@ package android.media.session {
  public final class MediaSessionManager {
    method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName);
    method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName, @Nullable android.os.Handler);
    method public void addOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener);
    method public void addOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener, @NonNull android.os.Handler);
    method @NonNull public java.util.List<android.media.session.MediaController> getActiveSessions(@Nullable android.content.ComponentName);
    method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens();
    method public boolean isTrustedForMediaControl(@NonNull android.media.session.MediaSessionManager.RemoteUserInfo);
    method public void notifySession2Created(@NonNull android.media.Session2Token);
    method public void removeOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener);
    method public void removeOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener);
  }
  public static interface MediaSessionManager.OnActiveSessionsChangedListener {
    method public void onActiveSessionsChanged(@Nullable java.util.List<android.media.session.MediaController>);
  }
  public static interface MediaSessionManager.OnSession2TokensChangedListener {
    method public void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>);
  }
  public static final class MediaSessionManager.RemoteUserInfo {
    ctor public MediaSessionManager.RemoteUserInfo(@NonNull String, int, int);
    ctor public MediaSessionManager.RemoteUserInfo(String, int, int, android.os.IBinder);
+18 −14
Original line number Diff line number Diff line
@@ -122,7 +122,6 @@ public final class MediaSessionManager {
     * {@link MediaSession2.Builder} instead.
     *
     * @param token newly created session2 token
     * @hide
     */
    public void notifySession2Created(@NonNull Session2Token token) {
        if (token == null) {
@@ -196,9 +195,7 @@ public final class MediaSessionManager {
     * reject your uses of {@link MediaSession2}.
     *
     * @return A list of {@link Session2Token}.
     * @hide
     */
    // TODO: unhide
    @NonNull
    public List<Session2Token> getSession2Tokens() {
        return getSession2Tokens(UserHandle.myUserId());
@@ -209,13 +206,12 @@ public final class MediaSessionManager {
     * given user.
     * <p>
     * If you want to get tokens for another user, you must hold the
     * {@link android.Manifest.permission#INTERACT_ACROSS_USERS_FULL} permission.
     * android.Manifest.permission#INTERACT_ACROSS_USERS_FULL permission.
     *
     * @param userId The user id to fetch sessions for.
     * @return A list of {@link Session2Token}
     * @hide
     */
    // TODO: unhide
    @NonNull
    public List<Session2Token> getSession2Tokens(int userId) {
        try {
@@ -342,13 +338,25 @@ public final class MediaSessionManager {
     * for consistent behavior across all devices.
     *
     * @param listener The listener to add
     * @param handler The handler to call listener on. If {@code null}, calling thread's looper will
     *                be used.
     * @hide
     */
    // TODO(jaewan): Unhide
    public void addOnSession2TokensChangedListener(
            @NonNull OnSession2TokensChangedListener listener, @Nullable Handler handler) {
            @NonNull OnSession2TokensChangedListener listener) {
        addOnSession2TokensChangedListener(UserHandle.myUserId(), listener, new Handler());
    }

    /**
     * Adds a listener to be notified when the {@link #getSession2Tokens()} changes.
     * <p>
     * This API is not generally intended for third party application developers.
     * Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
     * <a href="{@docRoot}reference/androidx/media2/package-summary.html">Media2 Library</a>
     * for consistent behavior across all devices.
     *
     * @param listener The listener to add
     * @param handler The handler to call listener on.
     */
    public void addOnSession2TokensChangedListener(
            @NonNull OnSession2TokensChangedListener listener, @NonNull Handler handler) {
        addOnSession2TokensChangedListener(UserHandle.myUserId(), listener, handler);
    }

@@ -392,9 +400,7 @@ public final class MediaSessionManager {
     * Removes the {@link OnSession2TokensChangedListener} to stop receiving session token updates.
     *
     * @param listener The listener to remove.
     * @hide
     */
    // TODO(jaewan): Unhide
    public void removeOnSession2TokensChangedListener(
            @NonNull OnSession2TokensChangedListener listener) {
        if (listener == null) {
@@ -688,8 +694,6 @@ public final class MediaSessionManager {
     * Use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
     * <a href="{@docRoot}reference/androidx/media2/package-summary.html">Media2 Library</a>
     * for consistent behavior across all devices.
     *
     * @hide
     */
    public interface OnSession2TokensChangedListener {
        /**