Commit cf1dcede by olly Committed by Ian Baker

Remove deprecated EventListener

PiperOrigin-RevId: 426876984
parent 9b8ed581
......@@ -152,6 +152,7 @@
`DefaultMediaItemConverter`
([#9663](https://github.com/google/ExoPlayer/issues/9663)).
* Remove deprecated symbols:
* Remove `Player.EventLister`. Use `Player.Listener` instead.
* Remove `MediaSourceFactory#setDrmSessionManager`,
`MediaSourceFactory#setDrmHttpDataSourceFactory`, and
`MediaSourceFactory#setDrmUserAgent`. Use
......
......@@ -135,7 +135,7 @@ public final class CastPlayer extends BasePlayer {
private final SeekResultCallback seekResultCallback;
// Listeners and notification.
private final ListenerSet<Player.EventListener> listeners;
private final ListenerSet<Listener> listeners;
@Nullable private SessionAvailabilityListener sessionAvailabilityListener;
// Internal state.
......@@ -278,41 +278,11 @@ public final class CastPlayer extends BasePlayer {
@Override
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);
}
@Override
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);
}
......@@ -471,7 +441,7 @@ public final class CastPlayer extends BasePlayer {
}
updateAvailableCommandsAndNotifyIfChanged();
} else if (pendingSeekCount == 0) {
listeners.queueEvent(/* eventFlag= */ C.INDEX_UNSET, EventListener::onSeekProcessed);
listeners.queueEvent(/* eventFlag= */ C.INDEX_UNSET, Listener::onSeekProcessed);
}
listeners.flushEvents();
}
......@@ -1475,7 +1445,7 @@ public final class CastPlayer extends BasePlayer {
currentWindowIndex = pendingSeekWindowIndex;
pendingSeekWindowIndex = C.INDEX_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 {
return player;
}
@SuppressWarnings("deprecation") // Use of deprecated type for backwards compatibility.
private static class ForwardingEventListener implements EventListener {
private static final class ForwardingListener implements Listener {
private final ForwardingPlayer forwardingPlayer;
private final EventListener eventListener;
private final Listener listener;
private ForwardingEventListener(
ForwardingPlayer forwardingPlayer, EventListener eventListener) {
public ForwardingListener(ForwardingPlayer forwardingPlayer, Listener listener) {
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
public void onTimelineChanged(Timeline timeline, @TimelineChangeReason int reason) {
eventListener.onTimelineChanged(timeline, reason);
listener.onTimelineChanged(timeline, reason);
}
@Override
public void onMediaItemTransition(
@Nullable MediaItem mediaItem, @MediaItemTransitionReason int reason) {
eventListener.onMediaItemTransition(mediaItem, reason);
listener.onMediaItemTransition(mediaItem, reason);
}
@Override
@SuppressWarnings("deprecation")
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
eventListener.onTracksChanged(trackGroups, trackSelections);
listener.onTracksChanged(trackGroups, trackSelections);
}
@Override
public void onTracksInfoChanged(TracksInfo tracksInfo) {
eventListener.onTracksInfoChanged(tracksInfo);
listener.onTracksInfoChanged(tracksInfo);
}
@Override
public void onMediaMetadataChanged(MediaMetadata mediaMetadata) {
eventListener.onMediaMetadataChanged(mediaMetadata);
listener.onMediaMetadataChanged(mediaMetadata);
}
@Override
public void onPlaylistMetadataChanged(MediaMetadata mediaMetadata) {
eventListener.onPlaylistMetadataChanged(mediaMetadata);
listener.onPlaylistMetadataChanged(mediaMetadata);
}
@Override
public void onIsLoadingChanged(boolean isLoading) {
eventListener.onIsLoadingChanged(isLoading);
listener.onIsLoadingChanged(isLoading);
}
@Override
@SuppressWarnings("deprecation")
public void onLoadingChanged(boolean isLoading) {
eventListener.onIsLoadingChanged(isLoading);
listener.onIsLoadingChanged(isLoading);
}
@Override
public void onAvailableCommandsChanged(Commands availableCommands) {
eventListener.onAvailableCommandsChanged(availableCommands);
listener.onAvailableCommandsChanged(availableCommands);
}
@Override
public void onTrackSelectionParametersChanged(TrackSelectionParameters parameters) {
eventListener.onTrackSelectionParametersChanged(parameters);
listener.onTrackSelectionParametersChanged(parameters);
}
@Override
@SuppressWarnings("deprecation")
public void onPlayerStateChanged(boolean playWhenReady, @State int playbackState) {
eventListener.onPlayerStateChanged(playWhenReady, playbackState);
listener.onPlayerStateChanged(playWhenReady, playbackState);
}
@Override
public void onPlaybackStateChanged(@State int playbackState) {
eventListener.onPlaybackStateChanged(playbackState);
listener.onPlaybackStateChanged(playbackState);
}
@Override
public void onPlayWhenReadyChanged(
boolean playWhenReady, @PlayWhenReadyChangeReason int reason) {
eventListener.onPlayWhenReadyChanged(playWhenReady, reason);
listener.onPlayWhenReadyChanged(playWhenReady, reason);
}
@Override
public void onPlaybackSuppressionReasonChanged(
@PlayWhenReadyChangeReason int playbackSuppressionReason) {
eventListener.onPlaybackSuppressionReasonChanged(playbackSuppressionReason);
listener.onPlaybackSuppressionReasonChanged(playbackSuppressionReason);
}
@Override
public void onIsPlayingChanged(boolean isPlaying) {
eventListener.onIsPlayingChanged(isPlaying);
listener.onIsPlayingChanged(isPlaying);
}
@Override
public void onRepeatModeChanged(@RepeatMode int repeatMode) {
eventListener.onRepeatModeChanged(repeatMode);
listener.onRepeatModeChanged(repeatMode);
}
@Override
public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {
eventListener.onShuffleModeEnabledChanged(shuffleModeEnabled);
listener.onShuffleModeEnabledChanged(shuffleModeEnabled);
}
@Override
public void onPlayerError(PlaybackException error) {
eventListener.onPlayerError(error);
listener.onPlayerError(error);
}
@Override
public void onPlayerErrorChanged(@Nullable PlaybackException error) {
eventListener.onPlayerErrorChanged(error);
listener.onPlayerErrorChanged(error);
}
@Override
@SuppressWarnings("deprecation")
public void onPositionDiscontinuity(@DiscontinuityReason int reason) {
eventListener.onPositionDiscontinuity(reason);
listener.onPositionDiscontinuity(reason);
}
@Override
public void onPositionDiscontinuity(
PositionInfo oldPosition, PositionInfo newPosition, @DiscontinuityReason int reason) {
eventListener.onPositionDiscontinuity(oldPosition, newPosition, reason);
listener.onPositionDiscontinuity(oldPosition, newPosition, reason);
}
@Override
public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {
eventListener.onPlaybackParametersChanged(playbackParameters);
listener.onPlaybackParametersChanged(playbackParameters);
}
@Override
public void onSeekBackIncrementChanged(long seekBackIncrementMs) {
eventListener.onSeekBackIncrementChanged(seekBackIncrementMs);
listener.onSeekBackIncrementChanged(seekBackIncrementMs);
}
@Override
public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) {
eventListener.onSeekForwardIncrementChanged(seekForwardIncrementMs);
listener.onSeekForwardIncrementChanged(seekForwardIncrementMs);
}
@Override
public void onMaxSeekToPreviousPositionChanged(long maxSeekToPreviousPositionMs) {
eventListener.onMaxSeekToPreviousPositionChanged(maxSeekToPreviousPositionMs);
listener.onMaxSeekToPreviousPositionChanged(maxSeekToPreviousPositionMs);
}
@Override
@SuppressWarnings("deprecation")
public void onSeekProcessed() {
eventListener.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;
listener.onSeekProcessed();
}
@Override
......@@ -1064,5 +1032,27 @@ public class ForwardingPlayer implements Player {
public void onDeviceVolumeChanged(int volume, boolean 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 {
}
@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 {
// Check with reflection that ForwardingListener overrides all Listener methods.
Class<?> forwardingListenerClass = getInnerClass("ForwardingListener");
......
......@@ -1042,30 +1042,6 @@ public interface ExoPlayer extends Player {
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.
*
* @param listener The listener to register.
......
......@@ -608,23 +608,11 @@ public class SimpleExoPlayer extends BasePlayer
player.addListener(listener);
}
@Deprecated
@Override
public void addListener(Player.EventListener listener) {
player.addEventListener(listener);
}
@Override
public void removeListener(Listener listener) {
player.removeListener(listener);
}
@Deprecated
@Override
public void removeListener(Player.EventListener listener) {
player.removeEventListener(listener);
}
@Override
public @State int getPlaybackState() {
return player.getPlaybackState();
......
......@@ -20,7 +20,6 @@ import androidx.annotation.Nullable;
import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.PlayerMessage;
import com.google.android.exoplayer2.Renderer;
import com.google.android.exoplayer2.SeekParameters;
......@@ -79,16 +78,6 @@ public class StubExoPlayer extends StubPlayer implements ExoPlayer {
}
@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) {
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