diff options
| author | 2019-01-22 12:41:53 +0000 | |
|---|---|---|
| committer | 2019-01-22 12:41:53 +0000 | |
| commit | bdca7e3b5d390c86aef02dcc5e26f34cd46db7a2 (patch) | |
| tree | fd7b1ac929bf64cd8a4f78e5ee7f6562f23c6813 | |
| parent | 0edc25693b11be54cd6a150919b62051a8bc06a7 (diff) | |
| parent | 1777b87a985af4de348fa19c2871598a681b8ecf (diff) | |
Merge "Unhide MediaSessionManager APIs"
| -rw-r--r-- | api/current.txt | 9 | ||||
| -rw-r--r-- | media/java/android/media/session/MediaSessionManager.java | 32 |
2 files changed, 27 insertions, 14 deletions
diff --git a/api/current.txt b/api/current.txt index 9ed3fdfa1aac..0bd257fa0632 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<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); 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<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 { /** |