diff options
| -rw-r--r-- | api/current.txt | 1 | ||||
| -rw-r--r-- | media/java/android/media/MediaController2.java | 17 | 
2 files changed, 18 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 6122e5208985..2f1e8db78f9c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -24533,6 +24533,7 @@ package android.media {      ctor public MediaController2(@NonNull android.content.Context, @NonNull android.media.Session2Token, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaController2.ControllerCallback);      method public void cancelSessionCommand(@NonNull Object);      method public void close(); +    method public android.media.Session2Token getConnectedSessionToken();      method public boolean isPlaybackActive();      method @NonNull public Object sendSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle);    } diff --git a/media/java/android/media/MediaController2.java b/media/java/android/media/MediaController2.java index 7c5335b71627..dd971959dd25 100644 --- a/media/java/android/media/MediaController2.java +++ b/media/java/android/media/MediaController2.java @@ -152,6 +152,7 @@ public class MediaController2 implements AutoCloseable {                      // No-op                  }              } +            mConnectedToken = null;              mPendingCommands.clear();              mRequestedCommandSeqNumbers.clear();              mCallbackExecutor.execute(() -> { @@ -162,6 +163,22 @@ public class MediaController2 implements AutoCloseable {      }      /** +     * Returns {@link Session2Token} of the connected session. +     * If it is not connected yet, it returns {@code null}. +     * <p> +     * This may differ with the {@link Session2Token} from the constructor. For example, if the +     * controller is created with the token for MediaSession2Service, this would return +     * token for the {@link MediaSession2} in the service. +     * +     * @return Session2Token of the connected session, or {@code null} if not connected +     */ +    public Session2Token getConnectedSessionToken() { +        synchronized (mLock) { +            return mConnectedToken; +        } +    } + +    /**       * Returns whether the session's playback is active.       *       * @return {@code true} if playback active. {@code false} otherwise.  |