From 1777b87a985af4de348fa19c2871598a681b8ecf Mon Sep 17 00:00:00 2001 From: Jin Seok Park Date: Wed, 16 Jan 2019 11:35:13 +0900 Subject: Unhide MediaSessionManager APIs Bug: 122234817 Test: update-api Change-Id: Id4b6a8304e0ea09911729232d1d4e4db94c482b3 --- api/current.txt | 9 ++++++ .../android/media/session/MediaSessionManager.java | 32 ++++++++++++---------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/api/current.txt b/api/current.txt index 96508c78dd88..8f3d0c31e749 100644 --- a/api/current.txt +++ b/api/current.txt @@ -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 getActiveSessions(@Nullable android.content.ComponentName); + method @NonNull public java.util.List 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); } + public static interface MediaSessionManager.OnSession2TokensChangedListener { + method public void onSession2TokensChanged(@NonNull java.util.List); + } + public static final class MediaSessionManager.RemoteUserInfo { ctor public MediaSessionManager.RemoteUserInfo(@NonNull String, int, int); ctor public MediaSessionManager.RemoteUserInfo(String, int, int, android.os.IBinder); diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java index 77e758fcf2dd..3f4fbb9af9a7 100644 --- a/media/java/android/media/session/MediaSessionManager.java +++ b/media/java/android/media/session/MediaSessionManager.java @@ -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 getSession2Tokens() { return getSession2Tokens(UserHandle.myUserId()); @@ -209,13 +206,12 @@ public final class MediaSessionManager { * given user. *

* 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 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. + *

+ * This API is not generally intended for third party application developers. + * Use the AndroidX + * Media2 Library + * 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 AndroidX * Media2 Library * for consistent behavior across all devices. - * - * @hide */ public interface OnSession2TokensChangedListener { /** -- cgit v1.2.3-59-g8ed1b