Commit cf1dcede by olly Committed by Ian Baker

Remove deprecated EventListener

PiperOrigin-RevId: 426876984
parent 9b8ed581
...@@ -152,6 +152,7 @@ ...@@ -152,6 +152,7 @@
`DefaultMediaItemConverter` `DefaultMediaItemConverter`
([#9663](https://github.com/google/ExoPlayer/issues/9663)). ([#9663](https://github.com/google/ExoPlayer/issues/9663)).
* Remove deprecated symbols: * Remove deprecated symbols:
* Remove `Player.EventLister`. Use `Player.Listener` instead.
* Remove `MediaSourceFactory#setDrmSessionManager`, * Remove `MediaSourceFactory#setDrmSessionManager`,
`MediaSourceFactory#setDrmHttpDataSourceFactory`, and `MediaSourceFactory#setDrmHttpDataSourceFactory`, and
`MediaSourceFactory#setDrmUserAgent`. Use `MediaSourceFactory#setDrmUserAgent`. Use
......
...@@ -135,7 +135,7 @@ public final class CastPlayer extends BasePlayer { ...@@ -135,7 +135,7 @@ public final class CastPlayer extends BasePlayer {
private final SeekResultCallback seekResultCallback; private final SeekResultCallback seekResultCallback;
// Listeners and notification. // Listeners and notification.
private final ListenerSet<Player.EventListener> listeners; private final ListenerSet<Listener> listeners;
@Nullable private SessionAvailabilityListener sessionAvailabilityListener; @Nullable private SessionAvailabilityListener sessionAvailabilityListener;
// Internal state. // Internal state.
...@@ -278,41 +278,11 @@ public final class CastPlayer extends BasePlayer { ...@@ -278,41 +278,11 @@ public final class CastPlayer extends BasePlayer {
@Override @Override
public void addListener(Listener listener) { public void addListener(Listener listener) {
EventListener eventListener = listener;
addListener(eventListener);
}
/**
* Registers a listener to receive events from the player.
*
* <p>The listener's methods will be called on the thread associated with {@link
* #getApplicationLooper()}.
*
* @param listener The listener to register.
* @deprecated Use {@link #addListener(Listener)} and {@link #removeListener(Listener)} instead.
*/
@Deprecated
@SuppressWarnings("deprecation")
public void addListener(EventListener listener) {
listeners.add(listener); listeners.add(listener);
} }
@Override @Override
public void removeListener(Listener listener) { public void removeListener(Listener listener) {
EventListener eventListener = listener;
removeListener(eventListener);
}
/**
* Unregister a listener registered through {@link #addListener(EventListener)}. The listener will
* no longer receive events from the player.
*
* @param listener The listener to unregister.
* @deprecated Use {@link #addListener(Listener)} and {@link #removeListener(Listener)} instead.
*/
@Deprecated
@SuppressWarnings("deprecation")
public void removeListener(EventListener listener) {
listeners.remove(listener); listeners.remove(listener);
} }
...@@ -471,7 +441,7 @@ public final class CastPlayer extends BasePlayer { ...@@ -471,7 +441,7 @@ public final class CastPlayer extends BasePlayer {
} }
updateAvailableCommandsAndNotifyIfChanged(); updateAvailableCommandsAndNotifyIfChanged();
} else if (pendingSeekCount == 0) { } else if (pendingSeekCount == 0) {
listeners.queueEvent(/* eventFlag= */ C.INDEX_UNSET, EventListener::onSeekProcessed); listeners.queueEvent(/* eventFlag= */ C.INDEX_UNSET, Listener::onSeekProcessed);
} }
listeners.flushEvents(); listeners.flushEvents();
} }
...@@ -1475,7 +1445,7 @@ public final class CastPlayer extends BasePlayer { ...@@ -1475,7 +1445,7 @@ public final class CastPlayer extends BasePlayer {
currentWindowIndex = pendingSeekWindowIndex; currentWindowIndex = pendingSeekWindowIndex;
pendingSeekWindowIndex = C.INDEX_UNSET; pendingSeekWindowIndex = C.INDEX_UNSET;
pendingSeekPositionMs = C.TIME_UNSET; pendingSeekPositionMs = C.TIME_UNSET;
listeners.sendEvent(/* eventFlag= */ C.INDEX_UNSET, EventListener::onSeekProcessed); listeners.sendEvent(/* eventFlag= */ C.INDEX_UNSET, Listener::onSeekProcessed);
} }
} }
} }
......
...@@ -823,191 +823,159 @@ public class ForwardingPlayer implements Player { ...@@ -823,191 +823,159 @@ public class ForwardingPlayer implements Player {
return player; return player;
} }
@SuppressWarnings("deprecation") // Use of deprecated type for backwards compatibility. private static final class ForwardingListener implements Listener {
private static class ForwardingEventListener implements EventListener {
private final ForwardingPlayer forwardingPlayer; private final ForwardingPlayer forwardingPlayer;
private final EventListener eventListener; private final Listener listener;
private ForwardingEventListener( public ForwardingListener(ForwardingPlayer forwardingPlayer, Listener listener) {
ForwardingPlayer forwardingPlayer, EventListener eventListener) {
this.forwardingPlayer = forwardingPlayer; this.forwardingPlayer = forwardingPlayer;
this.eventListener = eventListener; this.listener = listener;
}
@Override
public void onEvents(Player player, Events events) {
// Replace player with forwarding player.
listener.onEvents(forwardingPlayer, events);
} }
@Override @Override
public void onTimelineChanged(Timeline timeline, @TimelineChangeReason int reason) { public void onTimelineChanged(Timeline timeline, @TimelineChangeReason int reason) {
eventListener.onTimelineChanged(timeline, reason); listener.onTimelineChanged(timeline, reason);
} }
@Override @Override
public void onMediaItemTransition( public void onMediaItemTransition(
@Nullable MediaItem mediaItem, @MediaItemTransitionReason int reason) { @Nullable MediaItem mediaItem, @MediaItemTransitionReason int reason) {
eventListener.onMediaItemTransition(mediaItem, reason); listener.onMediaItemTransition(mediaItem, reason);
} }
@Override @Override
@SuppressWarnings("deprecation")
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
eventListener.onTracksChanged(trackGroups, trackSelections); listener.onTracksChanged(trackGroups, trackSelections);
} }
@Override @Override
public void onTracksInfoChanged(TracksInfo tracksInfo) { public void onTracksInfoChanged(TracksInfo tracksInfo) {
eventListener.onTracksInfoChanged(tracksInfo); listener.onTracksInfoChanged(tracksInfo);
} }
@Override @Override
public void onMediaMetadataChanged(MediaMetadata mediaMetadata) { public void onMediaMetadataChanged(MediaMetadata mediaMetadata) {
eventListener.onMediaMetadataChanged(mediaMetadata); listener.onMediaMetadataChanged(mediaMetadata);
} }
@Override @Override
public void onPlaylistMetadataChanged(MediaMetadata mediaMetadata) { public void onPlaylistMetadataChanged(MediaMetadata mediaMetadata) {
eventListener.onPlaylistMetadataChanged(mediaMetadata); listener.onPlaylistMetadataChanged(mediaMetadata);
} }
@Override @Override
public void onIsLoadingChanged(boolean isLoading) { public void onIsLoadingChanged(boolean isLoading) {
eventListener.onIsLoadingChanged(isLoading); listener.onIsLoadingChanged(isLoading);
} }
@Override @Override
@SuppressWarnings("deprecation")
public void onLoadingChanged(boolean isLoading) { public void onLoadingChanged(boolean isLoading) {
eventListener.onIsLoadingChanged(isLoading); listener.onIsLoadingChanged(isLoading);
} }
@Override @Override
public void onAvailableCommandsChanged(Commands availableCommands) { public void onAvailableCommandsChanged(Commands availableCommands) {
eventListener.onAvailableCommandsChanged(availableCommands); listener.onAvailableCommandsChanged(availableCommands);
} }
@Override @Override
public void onTrackSelectionParametersChanged(TrackSelectionParameters parameters) { public void onTrackSelectionParametersChanged(TrackSelectionParameters parameters) {
eventListener.onTrackSelectionParametersChanged(parameters); listener.onTrackSelectionParametersChanged(parameters);
} }
@Override @Override
@SuppressWarnings("deprecation")
public void onPlayerStateChanged(boolean playWhenReady, @State int playbackState) { public void onPlayerStateChanged(boolean playWhenReady, @State int playbackState) {
eventListener.onPlayerStateChanged(playWhenReady, playbackState); listener.onPlayerStateChanged(playWhenReady, playbackState);
} }
@Override @Override
public void onPlaybackStateChanged(@State int playbackState) { public void onPlaybackStateChanged(@State int playbackState) {
eventListener.onPlaybackStateChanged(playbackState); listener.onPlaybackStateChanged(playbackState);
} }
@Override @Override
public void onPlayWhenReadyChanged( public void onPlayWhenReadyChanged(
boolean playWhenReady, @PlayWhenReadyChangeReason int reason) { boolean playWhenReady, @PlayWhenReadyChangeReason int reason) {
eventListener.onPlayWhenReadyChanged(playWhenReady, reason); listener.onPlayWhenReadyChanged(playWhenReady, reason);
} }
@Override @Override
public void onPlaybackSuppressionReasonChanged( public void onPlaybackSuppressionReasonChanged(
@PlayWhenReadyChangeReason int playbackSuppressionReason) { @PlayWhenReadyChangeReason int playbackSuppressionReason) {
eventListener.onPlaybackSuppressionReasonChanged(playbackSuppressionReason); listener.onPlaybackSuppressionReasonChanged(playbackSuppressionReason);
} }
@Override @Override
public void onIsPlayingChanged(boolean isPlaying) { public void onIsPlayingChanged(boolean isPlaying) {
eventListener.onIsPlayingChanged(isPlaying); listener.onIsPlayingChanged(isPlaying);
} }
@Override @Override
public void onRepeatModeChanged(@RepeatMode int repeatMode) { public void onRepeatModeChanged(@RepeatMode int repeatMode) {
eventListener.onRepeatModeChanged(repeatMode); listener.onRepeatModeChanged(repeatMode);
} }
@Override @Override
public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {
eventListener.onShuffleModeEnabledChanged(shuffleModeEnabled); listener.onShuffleModeEnabledChanged(shuffleModeEnabled);
} }
@Override @Override
public void onPlayerError(PlaybackException error) { public void onPlayerError(PlaybackException error) {
eventListener.onPlayerError(error); listener.onPlayerError(error);
} }
@Override @Override
public void onPlayerErrorChanged(@Nullable PlaybackException error) { public void onPlayerErrorChanged(@Nullable PlaybackException error) {
eventListener.onPlayerErrorChanged(error); listener.onPlayerErrorChanged(error);
} }
@Override @Override
@SuppressWarnings("deprecation")
public void onPositionDiscontinuity(@DiscontinuityReason int reason) { public void onPositionDiscontinuity(@DiscontinuityReason int reason) {
eventListener.onPositionDiscontinuity(reason); listener.onPositionDiscontinuity(reason);
} }
@Override @Override
public void onPositionDiscontinuity( public void onPositionDiscontinuity(
PositionInfo oldPosition, PositionInfo newPosition, @DiscontinuityReason int reason) { PositionInfo oldPosition, PositionInfo newPosition, @DiscontinuityReason int reason) {
eventListener.onPositionDiscontinuity(oldPosition, newPosition, reason); listener.onPositionDiscontinuity(oldPosition, newPosition, reason);
} }
@Override @Override
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {
eventListener.onPlaybackParametersChanged(playbackParameters); listener.onPlaybackParametersChanged(playbackParameters);
} }
@Override @Override
public void onSeekBackIncrementChanged(long seekBackIncrementMs) { public void onSeekBackIncrementChanged(long seekBackIncrementMs) {
eventListener.onSeekBackIncrementChanged(seekBackIncrementMs); listener.onSeekBackIncrementChanged(seekBackIncrementMs);
} }
@Override @Override
public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) { public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {
eventListener.onSeekForwardIncrementChanged(seekForwardIncrementMs); listener.onSeekForwardIncrementChanged(seekForwardIncrementMs);
} }
@Override @Override
public void onMaxSeekToPreviousPositionChanged(long maxSeekToPreviousPositionMs) { public void onMaxSeekToPreviousPositionChanged(long maxSeekToPreviousPositionMs) {
eventListener.onMaxSeekToPreviousPositionChanged(maxSeekToPreviousPositionMs); listener.onMaxSeekToPreviousPositionChanged(maxSeekToPreviousPositionMs);
} }
@Override @Override
@SuppressWarnings("deprecation")
public void onSeekProcessed() { public void onSeekProcessed() {
eventListener.onSeekProcessed(); listener.onSeekProcessed();
}
@Override
public void onEvents(Player player, Events events) {
// Replace player with forwarding player.
eventListener.onEvents(forwardingPlayer, events);
}
@Override
public boolean equals(@Nullable Object o) {
if (this == o) {
return true;
}
if (!(o instanceof ForwardingEventListener)) {
return false;
}
ForwardingEventListener that = (ForwardingEventListener) o;
if (!forwardingPlayer.equals(that.forwardingPlayer)) {
return false;
}
return eventListener.equals(that.eventListener);
}
@Override
public int hashCode() {
int result = forwardingPlayer.hashCode();
result = 31 * result + eventListener.hashCode();
return result;
}
}
private static final class ForwardingListener extends ForwardingEventListener
implements Listener {
private final Listener listener;
public ForwardingListener(ForwardingPlayer forwardingPlayer, Listener listener) {
super(forwardingPlayer, listener);
this.listener = listener;
} }
@Override @Override
...@@ -1064,5 +1032,27 @@ public class ForwardingPlayer implements Player { ...@@ -1064,5 +1032,27 @@ public class ForwardingPlayer implements Player {
public void onDeviceVolumeChanged(int volume, boolean muted) { public void onDeviceVolumeChanged(int volume, boolean muted) {
listener.onDeviceVolumeChanged(volume, muted); listener.onDeviceVolumeChanged(volume, muted);
} }
@Override
public boolean equals(@Nullable Object o) {
if (this == o) {
return true;
}
if (!(o instanceof ForwardingListener)) {
return false;
}
ForwardingListener that = (ForwardingListener) o;
if (!forwardingPlayer.equals(that.forwardingPlayer)) {
return false;
}
return listener.equals(that.listener);
}
@Override
public int hashCode() {
int result = forwardingPlayer.hashCode();
result = 31 * result + listener.hashCode();
return result;
}
} }
} }
...@@ -117,21 +117,6 @@ public class ForwardingPlayerTest { ...@@ -117,21 +117,6 @@ public class ForwardingPlayerTest {
} }
@Test @Test
@SuppressWarnings("deprecation") // Testing backwards compatibility with deprecated type.
public void forwardingEventListener_overridesAllEventListenerMethods() throws Exception {
// Check with reflection that ForwardingListener overrides all Listener methods.
Class<?> forwardingListenerClass = getInnerClass("ForwardingEventListener");
List<Method> methods = getPublicMethods(Player.EventListener.class);
for (int i = 0; i < methods.size(); i++) {
Method method = methods.get(i);
assertThat(
forwardingListenerClass.getDeclaredMethod(
method.getName(), method.getParameterTypes()))
.isNotNull();
}
}
@Test
public void forwardingListener_overridesAllListenerMethods() throws Exception { public void forwardingListener_overridesAllListenerMethods() throws Exception {
// Check with reflection that ForwardingListener overrides all Listener methods. // Check with reflection that ForwardingListener overrides all Listener methods.
Class<?> forwardingListenerClass = getInnerClass("ForwardingListener"); Class<?> forwardingListenerClass = getInnerClass("ForwardingListener");
......
...@@ -1042,30 +1042,6 @@ public interface ExoPlayer extends Player { ...@@ -1042,30 +1042,6 @@ public interface ExoPlayer extends Player {
DeviceComponent getDeviceComponent(); DeviceComponent getDeviceComponent();
/** /**
* Registers a listener to receive events from the player.
*
* <p>The listener's methods will be called on the thread associated with {@link
* #getApplicationLooper()}.
*
* @param listener The listener to register.
* @deprecated Use {@link #addListener(Listener)} and {@link #removeListener(Listener)} instead.
*/
@Deprecated
@SuppressWarnings("deprecation")
void addListener(EventListener listener);
/**
* Unregister a listener registered through {@link #addListener(EventListener)}. The listener will
* no longer receive events from the player.
*
* @param listener The listener to unregister.
* @deprecated Use {@link #addListener(Listener)} and {@link #removeListener(Listener)} instead.
*/
@Deprecated
@SuppressWarnings("deprecation")
void removeListener(EventListener listener);
/**
* Adds a listener to receive audio offload events. * Adds a listener to receive audio offload events.
* *
* @param listener The listener to register. * @param listener The listener to register.
......
...@@ -608,23 +608,11 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -608,23 +608,11 @@ public class SimpleExoPlayer extends BasePlayer
player.addListener(listener); player.addListener(listener);
} }
@Deprecated
@Override
public void addListener(Player.EventListener listener) {
player.addEventListener(listener);
}
@Override @Override
public void removeListener(Listener listener) { public void removeListener(Listener listener) {
player.removeListener(listener); player.removeListener(listener);
} }
@Deprecated
@Override
public void removeListener(Player.EventListener listener) {
player.removeEventListener(listener);
}
@Override @Override
public @State int getPlaybackState() { public @State int getPlaybackState() {
return player.getPlaybackState(); return player.getPlaybackState();
......
...@@ -20,7 +20,6 @@ import androidx.annotation.Nullable; ...@@ -20,7 +20,6 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.PlayerMessage; import com.google.android.exoplayer2.PlayerMessage;
import com.google.android.exoplayer2.Renderer; import com.google.android.exoplayer2.Renderer;
import com.google.android.exoplayer2.SeekParameters; import com.google.android.exoplayer2.SeekParameters;
...@@ -79,16 +78,6 @@ public class StubExoPlayer extends StubPlayer implements ExoPlayer { ...@@ -79,16 +78,6 @@ public class StubExoPlayer extends StubPlayer implements ExoPlayer {
} }
@Override @Override
public void addListener(Player.EventListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void removeListener(Player.EventListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void addAudioOffloadListener(AudioOffloadListener listener) { public void addAudioOffloadListener(AudioOffloadListener listener) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment