diff --git a/library/common/src/main/java/com/google/android/exoplayer2/BasePlayer.java b/library/common/src/main/java/com/google/android/exoplayer2/BasePlayer.java index 74b5760ca7..02aa2527ae 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/BasePlayer.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/BasePlayer.java @@ -89,6 +89,16 @@ public abstract class BasePlayer implements Player { return getAvailableCommands().contains(command); } + /** + * {@inheritDoc} + * + *

BasePlayer and its descendents will return {@code true}. + */ + @Override + public final boolean canAdvertiseSession() { + return true; + } + @Override public final void play() { setPlayWhenReady(true); diff --git a/library/common/src/main/java/com/google/android/exoplayer2/ForwardingPlayer.java b/library/common/src/main/java/com/google/android/exoplayer2/ForwardingPlayer.java index 7112efa8a2..f682ced4a7 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/ForwardingPlayer.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/ForwardingPlayer.java @@ -151,6 +151,11 @@ public class ForwardingPlayer implements Player { return player.isCommandAvailable(command); } + @Override + public boolean canAdvertiseSession() { + return player.canAdvertiseSession(); + } + @Override public Commands getAvailableCommands() { return player.getAvailableCommands(); diff --git a/library/common/src/main/java/com/google/android/exoplayer2/Player.java b/library/common/src/main/java/com/google/android/exoplayer2/Player.java index dfa80d40b4..a706dfe6ea 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/Player.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/Player.java @@ -1543,6 +1543,9 @@ public interface Player { */ boolean isCommandAvailable(@Command int command); + /** Returns whether the player can be used to advertise a media session. */ + boolean canAdvertiseSession(); + /** * Returns the player's currently available {@link Commands}. *