diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java index 33b95c087b..48e6821f52 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java @@ -868,8 +868,8 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider { /** * Sets the {@link StyledPlayerControlView.VisibilityListener}. * - *
Removes any listener set by {@link - * #setControllerVisibilityListener(StyledPlayerControlView.VisibilityListener)}. + *
If {@code listener} is non-null then any listener set by {@link + * #setControllerVisibilityListener(StyledPlayerControlView.VisibilityListener)} is removed. * * @param listener The listener to be notified about visibility changes, or null to remove the * current listener. @@ -877,14 +877,16 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider { @SuppressWarnings("deprecation") // Clearing the legacy listener. public void setControllerVisibilityListener(@Nullable ControllerVisibilityListener listener) { this.controllerVisibilityListener = listener; - setControllerVisibilityListener((StyledPlayerControlView.VisibilityListener) null); + if (listener != null) { + setControllerVisibilityListener((StyledPlayerControlView.VisibilityListener) null); + } } /** * Sets the {@link StyledPlayerControlView.VisibilityListener}. * - *
Removes any listener set by {@link - * #setControllerVisibilityListener(ControllerVisibilityListener)}. + *
If {@code listener} is non-null then any listener set by {@link + * #setControllerVisibilityListener(ControllerVisibilityListener)} is removed. * * @deprecated Use {@link #setControllerVisibilityListener(ControllerVisibilityListener)} instead. */ @@ -903,8 +905,8 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider { this.legacyControllerVisibilityListener = listener; if (listener != null) { controller.addVisibilityListener(listener); + setControllerVisibilityListener((ControllerVisibilityListener) null); } - setControllerVisibilityListener((ControllerVisibilityListener) null); } /**