summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-02-18 04:05:21 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-02-18 04:05:21 +0000
commit4e3524229b8c0e399d44e9558520c5db36d78f7f (patch)
tree88a8025ad066bc49675096923e8957d47a45081b
parent45ef6275050456125e30cc6a816ff1211e8e2b96 (diff)
parent1d20148e8adce031c43736eccd4fefed301f66ec (diff)
Merge "MediaSession2: Make getConnectedControllers() public"
-rw-r--r--api/current.txt1
-rw-r--r--media/apex/java/android/media/MediaSession2.java36
2 files changed, 22 insertions, 15 deletions
diff --git a/api/current.txt b/api/current.txt
index fe86cbe48375..fe52f3ae83cb 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -26008,6 +26008,7 @@ package android.media {
method public void broadcastSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle);
method public void cancelSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object);
method public void close();
+ method @NonNull public java.util.List<android.media.MediaSession2.ControllerInfo> getConnectedControllers();
method @NonNull public String getSessionId();
method @NonNull public android.media.Session2Token getSessionToken();
method public boolean isPlaybackActive();
diff --git a/media/apex/java/android/media/MediaSession2.java b/media/apex/java/android/media/MediaSession2.java
index fdd07fdd52e3..1f8400a7ef66 100644
--- a/media/apex/java/android/media/MediaSession2.java
+++ b/media/apex/java/android/media/MediaSession2.java
@@ -259,6 +259,20 @@ public class MediaSession2 implements AutoCloseable {
}
}
+ /**
+ * Gets the list of the connected controllers
+ *
+ * @return list of the connected controllers.
+ */
+ @NonNull
+ public List<ControllerInfo> getConnectedControllers() {
+ List<ControllerInfo> controllers = new ArrayList<>();
+ synchronized (mLock) {
+ controllers.addAll(mConnectedControllers.values());
+ }
+ return controllers;
+ }
+
boolean isClosed() {
synchronized (mLock) {
return mClosed;
@@ -317,13 +331,6 @@ public class MediaSession2 implements AutoCloseable {
if (DEBUG) {
Log.d(TAG, "Accepting connection: " + controllerInfo);
}
- synchronized (mLock) {
- if (mConnectedControllers.containsKey(controller)) {
- Log.w(TAG, "Controller " + controllerInfo + " has sent connection"
- + " request multiple times");
- }
- mConnectedControllers.put(controller, controllerInfo);
- }
// If connection is accepted, notify the current state to the controller.
// It's needed because we cannot call synchronous calls between
// session/controller.
@@ -339,6 +346,13 @@ public class MediaSession2 implements AutoCloseable {
return;
}
controllerInfo.notifyConnected(connectionResult);
+ synchronized (mLock) {
+ if (mConnectedControllers.containsKey(controller)) {
+ Log.w(TAG, "Controller " + controllerInfo + " has sent connection"
+ + " request multiple times");
+ }
+ mConnectedControllers.put(controller, controllerInfo);
+ }
connected = true;
} finally {
if (!connected) {
@@ -417,14 +431,6 @@ public class MediaSession2 implements AutoCloseable {
controllerInfo.removeRequestedCommandSeqNumber(seq);
}
- private List<ControllerInfo> getConnectedControllers() {
- List<ControllerInfo> controllers = new ArrayList<>();
- synchronized (mLock) {
- controllers.addAll(mConnectedControllers.values());
- }
- return controllers;
- }
-
/**
* Builder for {@link MediaSession2}.
* <p>