diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java index 8d10b80bf9..957945fa2a 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java @@ -224,13 +224,40 @@ public interface ExoMediaDrm { } - /** @see MediaDrm#setOnEventListener(MediaDrm.OnEventListener) */ + /** + * Sets the listener for DRM events. + * + *

This is an optional method, and some implementations may only support it on certain Android + * API levels. + * + * @param listener The listener to receive events, or {@code null} to stop receiving events. + * @throws UnsupportedOperationException if the implementation doesn't support this method. + * @see MediaDrm#setOnEventListener(MediaDrm.OnEventListener) + */ void setOnEventListener(@Nullable OnEventListener listener); - /** @see MediaDrm#setOnKeyStatusChangeListener(MediaDrm.OnKeyStatusChangeListener, Handler) */ + /** + * Sets the listener for key status change events. + * + *

This is an optional method, and some implementations may only support it on certain Android + * API levels. + * + * @param listener The listener to receive events, or {@code null} to stop receiving events. + * @throws UnsupportedOperationException if the implementation doesn't support this method. + * @see MediaDrm#setOnKeyStatusChangeListener(MediaDrm.OnKeyStatusChangeListener, Handler) + */ void setOnKeyStatusChangeListener(@Nullable OnKeyStatusChangeListener listener); - /** @see MediaDrm#setOnExpirationUpdateListener(MediaDrm.OnExpirationUpdateListener, Handler) */ + /** + * Sets the listener for session expiration events. + * + *

This is an optional method, and some implementations may only support it on certain Android + * API levels. + * + * @param listener The listener to receive events, or {@code null} to stop receiving events. + * @throws UnsupportedOperationException if the implementation doesn't support this method. + * @see MediaDrm#setOnExpirationUpdateListener(MediaDrm.OnExpirationUpdateListener, Handler) + */ void setOnExpirationUpdateListener(@Nullable OnExpirationUpdateListener listener); /** @see MediaDrm#openSession() */ diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java index 91e36370d2..d037264d68 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java @@ -114,7 +114,14 @@ public final class FrameworkMediaDrm implements ExoMediaDrm { listener.onEvent(FrameworkMediaDrm.this, sessionId, event, extra, data)); } + /** + * {@inheritDoc} + * + * @param listener The listener to receive events, or {@code null} to stop receiving events. + * @throws UnsupportedOperationException on API levels lower than 23. + */ @Override + @RequiresApi(23) public void setOnKeyStatusChangeListener( @Nullable ExoMediaDrm.OnKeyStatusChangeListener listener) { if (Util.SDK_INT < 23) { @@ -135,7 +142,14 @@ public final class FrameworkMediaDrm implements ExoMediaDrm { /* handler= */ null); } + /** + * {@inheritDoc} + * + * @param listener The listener to receive events, or {@code null} to stop receiving events. + * @throws UnsupportedOperationException on API levels lower than 23. + */ @Override + @RequiresApi(23) public void setOnExpirationUpdateListener(@Nullable OnExpirationUpdateListener listener) { if (Util.SDK_INT < 23) { throw new UnsupportedOperationException();