From 3dc6cf6beca601a62af1b57e62f02df3632b082f Mon Sep 17 00:00:00 2001 From: krocard Date: Fri, 30 Apr 2021 17:31:54 +0100 Subject: [PATCH] Deprecate EventListener in favor of Listener #minor-release PiperOrigin-RevId: 371348520 --- RELEASENOTES.md | 3 +- docs/dash.md | 4 +- docs/hls.md | 4 +- docs/listening-to-player-events.md | 18 +- docs/live-streaming.md | 4 +- docs/playlists.md | 4 +- docs/smoothstreaming.md | 4 +- .../exoplayer2/ext/cast/CastPlayerTest.java | 2 +- .../exoplayer2/ext/flac/FlacPlaybackTest.java | 2 +- .../exoplayer2/ext/ima/ImaPlaybackTest.java | 3 +- .../exoplayer2/ext/ima/AdTagLoader.java | 2 +- .../exoplayer2/ext/ima/ImaAdsLoader.java | 4 +- .../exoplayer2/ext/ima/FakePlayer.java | 6 +- .../mediasession/MediaSessionConnector.java | 5 +- .../exoplayer2/ext/opus/OpusPlaybackTest.java | 2 +- .../exoplayer2/ext/vp9/VpxPlaybackTest.java | 2 +- .../com/google/android/exoplayer2/Player.java | 7 + .../exoplayer2/ClippedPlaybackTest.java | 4 +- .../analytics/AnalyticsCollector.java | 2 +- .../trackselection/DefaultTrackSelector.java | 8 +- .../exoplayer2/util/DebugTextViewHelper.java | 4 +- .../android/exoplayer2/ExoPlayerTest.java | 260 +++++++++--------- .../analytics/AnalyticsCollectorTest.java | 2 +- .../robolectric/TestPlayerRunHelper.java | 26 +- .../android/exoplayer2/testutil/Action.java | 22 +- .../testutil/ExoPlayerTestRunner.java | 53 ++-- 26 files changed, 230 insertions(+), 227 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 44f1b0167b..8704cf7801 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -30,7 +30,8 @@ `ExoPlayer`. * Add `getMediaMetadata` to `Player` interface. * Add a `Listener` interface to receive all player events in a single - object. Component Listeners have been deprecated in its favor. + object. Component Listeners and `EventListener` have been deprecated in + its favor. * `Player.setPlaybackParameters` no longer accepts null, use `PlaybackParameters.DEFAULT` instead. * Use an empty string instead of the URI if the media ID is not explicitly diff --git a/docs/dash.md b/docs/dash.md index f4010bc0c2..8b3ef2571e 100644 --- a/docs/dash.md +++ b/docs/dash.md @@ -57,14 +57,14 @@ player.prepare(); You can retrieve the current manifest by calling `Player.getCurrentManifest`. For DASH you should cast the returned object to `DashManifest`. The -`onTimelineChanged` callback of `Player.EventListener` is also called whenever +`onTimelineChanged` callback of `Player.Listener` is also called whenever the manifest is loaded. This will happen once for a on-demand content, and possibly many times for live content. The code snippet below shows how an app can do something whenever the manifest is loaded. ~~~ player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onTimelineChanged( Timeline timeline, @Player.TimelineChangeReason int reason) { diff --git a/docs/hls.md b/docs/hls.md index ce6a3a6778..9718306ac7 100644 --- a/docs/hls.md +++ b/docs/hls.md @@ -60,14 +60,14 @@ player.prepare(); You can retrieve the current manifest by calling `Player.getCurrentManifest`. For HLS you should cast the returned object to `HlsManifest`. The -`onTimelineChanged` callback of `Player.EventListener` is also called whenever +`onTimelineChanged` callback of `Player.Listener` is also called whenever the manifest is loaded. This will happen once for a on-demand content, and possibly many times for live content. The code snippet below shows how an app can do something whenever the manifest is loaded. ~~~ player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onTimelineChanged( Timeline timeline, @Player.TimelineChangeReason int reason) { diff --git a/docs/listening-to-player-events.md b/docs/listening-to-player-events.md index 316283141f..5c68d4e7bb 100644 --- a/docs/listening-to-player-events.md +++ b/docs/listening-to-player-events.md @@ -5,16 +5,16 @@ title: Player events ## Listening to playback events ## Events such as changes in state and playback errors are reported to registered -[`Player.EventListener`][] instances. Registering a listener to receive such +[`Player.Listener`][] instances. Registering a listener to receive such events is easy: ~~~ // Add a listener to receive events from the player. -player.addListener(eventListener); +player.addListener(listener); ~~~ {: .language-java} -`Player.EventListener` has empty default methods, so you only need to implement +`Player.Listener` has empty default methods, so you only need to implement the methods you're interested in. See the [Javadoc][] for a full description of the methods and when they're called. Some of the most important methods are described in more detail below. @@ -28,7 +28,7 @@ should be preferred for different use cases. Changes in player state can be received by implementing `onPlaybackStateChanged(@State int state)` in a registered -`Player.EventListener`. The player can be in one of four playback states: +`Player.Listener`. The player can be in one of four playback states: * `Player.STATE_IDLE`: This is the initial state, the state when the player is stopped, and when playback failed. @@ -68,7 +68,7 @@ public void onIsPlayingChanged(boolean isPlaying) { Errors that cause playback to fail can be received by implementing `onPlayerError(ExoPlaybackException error)` in a registered -`Player.EventListener`. When a failure occurs, this method will be called +`Player.Listener`. When a failure occurs, this method will be called immediately before the playback state transitions to `Player.STATE_IDLE`. Failed or stopped playbacks can be retried by calling `ExoPlayer.retry`. @@ -107,7 +107,7 @@ public void onPlayerError(ExoPlaybackException error) { Whenever the player changes to a new media item in the playlist `onMediaItemTransition(MediaItem mediaItem, @MediaItemTransitionReason int reason)` is called on registered -`Player.EventListener`s. The reason indicates whether this was an automatic +`Player.Listener`s. The reason indicates whether this was an automatic transition, a seek (for example after calling `player.next()`), a repetition of the same item, or caused by a playlist change (e.g., if the currently playing item is removed). @@ -115,7 +115,7 @@ item is removed). ### Seeking ### Calling `Player.seekTo` methods results in a series of callbacks to registered -`Player.EventListener` instances: +`Player.Listener` instances: 1. `onPositionDiscontinuity` with `reason=DISCONTINUITY_REASON_SEEK`. This is the direct result of calling `Player.seekTo`. @@ -232,8 +232,8 @@ player ~~~ {: .language-java } -[`Player.EventListener`]: {{ site.exo_sdk }}/Player.EventListener.html -[Javadoc]: {{ site.exo_sdk }}/Player.EventListener.html +[`Player.Listener`]: {{ site.exo_sdk }}/Player.Listener.html +[Javadoc]: {{ site.exo_sdk }}/Player.Listener.html [`Individual callbacks vs onEvents`]: #individual-callbacks-vs-onevents [`ExoPlaybackException`]: {{ site.exo_sdk }}/ExoPlaybackException.html [log output]: event-logger.html diff --git a/docs/live-streaming.md b/docs/live-streaming.md index 302e804137..86ead16d51 100644 --- a/docs/live-streaming.md +++ b/docs/live-streaming.md @@ -25,7 +25,7 @@ closer to the live edge again. ## Detecting and monitoring live playbacks ## -Every time a live window is updated, registered `Player.EventListener` instances +Every time a live window is updated, registered `Player.Listener` instances will receive an `onTimelineChanged` event. You can retrieve details about the current live playback by querying various `Player` and `Timeline.Window` methods, as listed below and shown in the following figure. @@ -135,7 +135,7 @@ setting `minPlaybackSpeed` and `maxPlaybackSpeed` to `1.0f`. The playback position may fall behind the live window, for example if the player is paused or buffering for a long enough period of time. If this happens then playback will fail and a `BehindLiveWindowException` will be reported via -`Player.EventListener.onPlayerError`. Application code may wish to handle such +`Player.Listener.onPlayerError`. Application code may wish to handle such errors by resuming playback at the default position. The [PlayerActivity][] of the demo app exemplifies this approach. diff --git a/docs/playlists.md b/docs/playlists.md index a3ca0c68bd..bc06164d39 100644 --- a/docs/playlists.md +++ b/docs/playlists.md @@ -101,7 +101,7 @@ MediaItem mediaItem = ## Detecting when playback transitions to another media item ## When playback transitions to another media item, or starts repeating the same -media item, `EventListener.onMediaItemTransition(MediaItem, +media item, `Listener.onMediaItemTransition(MediaItem, @MediaItemTransitionReason)` is called. This callback receives the new media item, along with a `@MediaItemTransitionReason` indicating why the transition occurred. A common use case for `onMediaItemTransition` is to update the @@ -135,7 +135,7 @@ public void onMediaItemTransition( ## Detecting when the playlist changes ## When a media item is added, removed or moved, -`EventListener.onTimelineChanged(Timeline, @TimelineChangeReason)` is called +`Listener.onTimelineChanged(Timeline, @TimelineChangeReason)` is called immediately with `TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED`. This callback is called even when the player has not yet been prepared. diff --git a/docs/smoothstreaming.md b/docs/smoothstreaming.md index 3e686e4ad7..fb6824cde4 100644 --- a/docs/smoothstreaming.md +++ b/docs/smoothstreaming.md @@ -59,14 +59,14 @@ player.prepare(); You can retrieve the current manifest by calling `Player.getCurrentManifest`. For SmoothStreaming you should cast the returned object to `SsManifest`. The -`onTimelineChanged` callback of `Player.EventListener` is also called whenever +`onTimelineChanged` callback of `Player.Listener` is also called whenever the manifest is loaded. This will happen once for a on-demand content, and possibly many times for live content. The code snippet below shows how an app can do something whenever the manifest is loaded. ~~~ player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onTimelineChanged( Timeline timeline, @Player.TimelineChangeReason int reason) { diff --git a/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java b/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java index 7c9862a353..0a687f50b4 100644 --- a/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java +++ b/extensions/cast/src/test/java/com/google/android/exoplayer2/ext/cast/CastPlayerTest.java @@ -97,7 +97,7 @@ public class CastPlayerTest { @Mock private CastContext mockCastContext; @Mock private SessionManager mockSessionManager; @Mock private CastSession mockCastSession; - @Mock private Player.EventListener mockListener; + @Mock private Player.Listener mockListener; @Mock private PendingResult mockPendingResult; @Captor diff --git a/extensions/flac/src/androidTest/java/com/google/android/exoplayer2/ext/flac/FlacPlaybackTest.java b/extensions/flac/src/androidTest/java/com/google/android/exoplayer2/ext/flac/FlacPlaybackTest.java index 1736b5aa29..a52f8088b3 100644 --- a/extensions/flac/src/androidTest/java/com/google/android/exoplayer2/ext/flac/FlacPlaybackTest.java +++ b/extensions/flac/src/androidTest/java/com/google/android/exoplayer2/ext/flac/FlacPlaybackTest.java @@ -89,7 +89,7 @@ public class FlacPlaybackTest { "audiosinkdumps/" + fileName + ".audiosink.dump"); } - private static class TestPlaybackRunnable implements Player.EventListener, Runnable { + private static class TestPlaybackRunnable implements Player.Listener, Runnable { private final Context context; private final Uri uri; diff --git a/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java b/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java index aaa3cdc696..6ddc317274 100644 --- a/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java +++ b/extensions/ima/src/androidTest/java/com/google/android/exoplayer2/ext/ima/ImaPlaybackTest.java @@ -28,7 +28,6 @@ import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.MediaItem; import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.Player.DiscontinuityReason; -import com.google.android.exoplayer2.Player.EventListener; import com.google.android.exoplayer2.Player.TimelineChangeReason; import com.google.android.exoplayer2.SimpleExoPlayer; import com.google.android.exoplayer2.Timeline.Window; @@ -186,7 +185,7 @@ public final class ImaPlaybackTest { } } - private static final class ImaHostedTest extends ExoHostedTest implements EventListener { + private static final class ImaHostedTest extends ExoHostedTest implements Player.Listener { private final Uri contentUri; private final DataSpec adTagDataSpec; diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java index 9b79dbade0..6690fa95ec 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java @@ -76,7 +76,7 @@ import java.util.List; import java.util.Map; /** Handles loading and playback of a single ad tag. */ -/* package */ final class AdTagLoader implements Player.EventListener { +/* package */ final class AdTagLoader implements Player.Listener { private static final String TAG = "AdTagLoader"; diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java index f015042927..72cae676af 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java @@ -85,7 +85,7 @@ import java.util.Set; * href="https://developers.google.com/interactive-media-ads/docs/sdks/android/client-side/omsdk">IMA * SDK Open Measurement documentation for more information. */ -public final class ImaAdsLoader implements Player.EventListener, AdsLoader { +public final class ImaAdsLoader implements Player.Listener, AdsLoader { static { ExoPlayerLibraryInfo.registerModule("goog.exo.ima"); @@ -601,7 +601,7 @@ public final class ImaAdsLoader implements Player.EventListener, AdsLoader { .handlePrepareError(adGroupIndex, adIndexInAdGroup, exception); } - // Player.EventListener implementation. + // Player.Listener implementation. @Override public void onTimelineChanged(Timeline timeline, @Player.TimelineChangeReason int reason) { diff --git a/extensions/ima/src/test/java/com/google/android/exoplayer2/ext/ima/FakePlayer.java b/extensions/ima/src/test/java/com/google/android/exoplayer2/ext/ima/FakePlayer.java index e30bc8fca2..0582423a91 100644 --- a/extensions/ima/src/test/java/com/google/android/exoplayer2/ext/ima/FakePlayer.java +++ b/extensions/ima/src/test/java/com/google/android/exoplayer2/ext/ima/FakePlayer.java @@ -27,7 +27,7 @@ import com.google.android.exoplayer2.util.ListenerSet; /** A fake player for testing content/ad playback. */ /* package */ final class FakePlayer extends StubExoPlayer { - private final ListenerSet listeners; + private final ListenerSet listeners; private final Timeline.Period period; private final Object windowUid = new Object(); private final Object periodUid = new Object(); @@ -185,12 +185,12 @@ import com.google.android.exoplayer2.util.ListenerSet; } @Override - public void addListener(Player.EventListener listener) { + public void addListener(Player.Listener listener) { listeners.add(listener); } @Override - public void removeListener(Player.EventListener listener) { + public void removeListener(Player.Listener listener) { listeners.remove(listener); } diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java index 90c031f9d4..f806a579be 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java @@ -1085,13 +1085,12 @@ public final class MediaSessionConnector { } } - private class ComponentListener extends MediaSessionCompat.Callback - implements Player.EventListener { + private class ComponentListener extends MediaSessionCompat.Callback implements Player.Listener { private int currentWindowIndex; private int currentWindowCount; - // Player.EventListener implementation. + // Player.Listener implementation. @Override public void onEvents(Player player, Player.Events events) { diff --git a/extensions/opus/src/androidTest/java/com/google/android/exoplayer2/ext/opus/OpusPlaybackTest.java b/extensions/opus/src/androidTest/java/com/google/android/exoplayer2/ext/opus/OpusPlaybackTest.java index 95acaafc81..9cb606a718 100644 --- a/extensions/opus/src/androidTest/java/com/google/android/exoplayer2/ext/opus/OpusPlaybackTest.java +++ b/extensions/opus/src/androidTest/java/com/google/android/exoplayer2/ext/opus/OpusPlaybackTest.java @@ -73,7 +73,7 @@ public class OpusPlaybackTest { } } - private static class TestPlaybackRunnable implements Player.EventListener, Runnable { + private static class TestPlaybackRunnable implements Player.Listener, Runnable { private final Context context; private final Uri uri; diff --git a/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java b/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java index 407dc8a55d..d7a19f1662 100644 --- a/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java +++ b/extensions/vp9/src/androidTest/java/com/google/android/exoplayer2/ext/vp9/VpxPlaybackTest.java @@ -101,7 +101,7 @@ public class VpxPlaybackTest { } } - private static class TestPlaybackRunnable implements Player.EventListener, Runnable { + private static class TestPlaybackRunnable implements Player.Listener, Runnable { private final Context context; private final Uri uri; 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 398d6a4dee..24796a871c 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 @@ -74,7 +74,10 @@ public interface Player { *

Listeners can choose to implement individual events (e.g. {@link * #onIsPlayingChanged(boolean)}) or {@link #onEvents(Player, Events)}, which is called after one * or more events occurred together. + * + * @deprecated Use {@link Player.Listener}. */ + @Deprecated interface EventListener { /** @@ -1040,7 +1043,9 @@ public interface Player { * the player does not have a {@link Looper}, then the listener will be called on the main thread. * * @param listener The listener to register. + * @deprecated Use {@link #addListener(Listener)} instead. */ + @Deprecated void addListener(EventListener listener); /** @@ -1055,7 +1060,9 @@ public interface Player { * no longer receive events from the player. * * @param listener The listener to unregister. + * @deprecated Use {@link #addListener(Listener)} instead. */ + @Deprecated void removeListener(EventListener listener); /** diff --git a/library/core/src/androidTest/java/com/google/android/exoplayer2/ClippedPlaybackTest.java b/library/core/src/androidTest/java/com/google/android/exoplayer2/ClippedPlaybackTest.java index 9e757574b8..5a33dcf07c 100644 --- a/library/core/src/androidTest/java/com/google/android/exoplayer2/ClippedPlaybackTest.java +++ b/library/core/src/androidTest/java/com/google/android/exoplayer2/ClippedPlaybackTest.java @@ -66,7 +66,7 @@ public final class ClippedPlaybackTest { player .get() .addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onPlaybackStateChanged(@Player.State int state) { if (state == Player.STATE_ENDED) { @@ -120,7 +120,7 @@ public final class ClippedPlaybackTest { player .get() .addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onPlaybackStateChanged(@Player.State int state) { if (state == Player.STATE_ENDED) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java index e72f5f1056..5d1c0a9c2f 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java @@ -66,7 +66,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; * Data collector that forwards analytics events to {@link AnalyticsListener AnalyticsListeners}. */ public class AnalyticsCollector - implements Player.EventListener, + implements Player.Listener, AudioRendererEventListener, VideoRendererEventListener, MediaSourceEventListener, diff --git a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java index 57af0f2f85..19b1b03e59 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java @@ -105,10 +105,10 @@ import org.checkerframework.checker.nullness.qual.EnsuresNonNull; * } * * If {@code rendererTrackGroups} is null then there aren't any currently mapped tracks, and so - * setting an override isn't possible. Note that a {@link Player.EventListener} registered on the - * player can be used to determine when the current tracks (and therefore the mapping) changes. If - * {@code rendererTrackGroups} is non-null then an override can be set. The next step is to query - * the properties of the available tracks to determine the {@code groupIndex} and the {@code + * setting an override isn't possible. Note that a {@link Player.Listener} registered on the player + * can be used to determine when the current tracks (and therefore the mapping) changes. If {@code + * rendererTrackGroups} is non-null then an override can be set. The next step is to query the + * properties of the available tracks to determine the {@code groupIndex} and the {@code * trackIndices} within the group it that should be selected. The override can then be specified * using {@link ParametersBuilder#setSelectionOverride}: * diff --git a/library/core/src/main/java/com/google/android/exoplayer2/util/DebugTextViewHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/util/DebugTextViewHelper.java index a7a19f6e21..f7aac3bdae 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/util/DebugTextViewHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/util/DebugTextViewHelper.java @@ -28,7 +28,7 @@ import java.util.Locale; * A helper class for periodically updating a {@link TextView} with debug information obtained from * a {@link SimpleExoPlayer}. */ -public class DebugTextViewHelper implements Player.EventListener, Runnable { +public class DebugTextViewHelper implements Player.Listener, Runnable { private static final int REFRESH_INTERVAL_MS = 1000; @@ -75,7 +75,7 @@ public class DebugTextViewHelper implements Player.EventListener, Runnable { textView.removeCallbacks(this); } - // Player.EventListener implementation. + // Player.Listener implementation. @Override public final void onPlaybackStateChanged(@Player.State int playbackState) { diff --git a/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java b/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java index 96aa707880..5356a2b3d7 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java @@ -75,8 +75,6 @@ import androidx.annotation.Nullable; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.android.exoplayer2.Player.DiscontinuityReason; -import com.google.android.exoplayer2.Player.EventListener; -import com.google.android.exoplayer2.Player.Listener; import com.google.android.exoplayer2.Timeline.Window; import com.google.android.exoplayer2.analytics.AnalyticsListener; import com.google.android.exoplayer2.audio.AudioAttributes; @@ -193,7 +191,7 @@ public final class ExoPlayerTest { FakeRenderer renderer = new FakeRenderer(C.TRACK_TYPE_UNKNOWN); SimpleExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(renderer).build(); - Listener mockListener = mock(Listener.class); + Player.Listener mockListener = mock(Player.Listener.class); player.addListener(mockListener); player.setMediaSource(new FakeMediaSource(timeline, ExoPlayerTestRunner.VIDEO_FORMAT)); @@ -224,7 +222,7 @@ public final class ExoPlayerTest { Timeline timeline = new FakeTimeline(); FakeRenderer renderer = new FakeRenderer(C.TRACK_TYPE_VIDEO); SimpleExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(renderer).build(); - Listener mockListener = mock(Listener.class); + Player.Listener mockListener = mock(Player.Listener.class); player.addListener(mockListener); player.setMediaSource(new FakeMediaSource(timeline, ExoPlayerTestRunner.VIDEO_FORMAT)); @@ -259,26 +257,26 @@ public final class ExoPlayerTest { Timeline timeline = new FakeTimeline(/* windowCount= */ 3); FakeRenderer renderer = new FakeRenderer(C.TRACK_TYPE_VIDEO); SimpleExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(renderer).build(); - EventListener mockEventListener = mock(EventListener.class); - player.addListener(mockEventListener); + Player.Listener mockPlayerListener = mock(Player.Listener.class); + player.addListener(mockPlayerListener); player.setMediaSource(new FakeMediaSource(timeline, ExoPlayerTestRunner.VIDEO_FORMAT)); player.prepare(); player.play(); runUntilPlaybackState(player, Player.STATE_ENDED); - InOrder inOrder = Mockito.inOrder(mockEventListener); + InOrder inOrder = Mockito.inOrder(mockPlayerListener); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(new FakeMediaSource.InitialTimeline(timeline))), eq(Player.DISCONTINUITY_REASON_AUTO_TRANSITION)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(timeline)), eq(Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE)); inOrder - .verify(mockEventListener, times(2)) + .verify(mockPlayerListener, times(2)) .onPositionDiscontinuity(any(), any(), eq(Player.DISCONTINUITY_REASON_AUTO_TRANSITION)); assertThat(renderer.getFormatsRead()) .containsExactly( @@ -297,26 +295,26 @@ public final class ExoPlayerTest { new FakeTimeline(new TimelineWindowDefinition(/* periodCount= */ 100, /* id= */ 0)); FakeRenderer renderer = new FakeRenderer(C.TRACK_TYPE_VIDEO); SimpleExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(renderer).build(); - EventListener mockEventListener = mock(EventListener.class); - player.addListener(mockEventListener); + Player.Listener mockPlayerListener = mock(Player.Listener.class); + player.addListener(mockPlayerListener); player.setMediaSource(new FakeMediaSource(timeline, ExoPlayerTestRunner.VIDEO_FORMAT)); player.prepare(); player.play(); runUntilPlaybackState(player, Player.STATE_ENDED); - InOrder inOrder = inOrder(mockEventListener); + InOrder inOrder = inOrder(mockPlayerListener); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(placeholderTimeline)), eq(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(timeline)), eq(Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE)); inOrder - .verify(mockEventListener, times(99)) + .verify(mockPlayerListener, times(99)) .onPositionDiscontinuity(any(), any(), eq(Player.DISCONTINUITY_REASON_AUTO_TRANSITION)); assertThat(renderer.getFormatsRead()).hasSize(100); assertThat(renderer.sampleBufferReadCount).isEqualTo(100); @@ -379,8 +377,8 @@ public final class ExoPlayerTest { }; SimpleExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(videoRenderer, audioRenderer).build(); - EventListener mockEventListener = mock(EventListener.class); - player.addListener(mockEventListener); + Player.Listener mockPlayerListener = mock(Player.Listener.class); + player.addListener(mockPlayerListener); player.setMediaSource( new FakeMediaSource( @@ -389,18 +387,18 @@ public final class ExoPlayerTest { player.play(); runUntilPlaybackState(player, Player.STATE_ENDED); - InOrder inOrder = inOrder(mockEventListener); + InOrder inOrder = inOrder(mockPlayerListener); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(new FakeMediaSource.InitialTimeline(timeline))), eq(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(timeline)), eq(Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE)); inOrder - .verify(mockEventListener, times(2)) + .verify(mockPlayerListener, times(2)) .onPositionDiscontinuity(any(), any(), eq(Player.DISCONTINUITY_REASON_AUTO_TRANSITION)); assertThat(audioRenderer.positionResetCount).isEqualTo(1); assertThat(videoRenderer.isEnded).isTrue(); @@ -428,8 +426,8 @@ public final class ExoPlayerTest { Timeline thirdTimeline = new FakeTimeline(); MediaSource thirdSource = new FakeMediaSource(thirdTimeline, ExoPlayerTestRunner.VIDEO_FORMAT); SimpleExoPlayer player = new TestExoPlayerBuilder(context).setRenderers(renderer).build(); - EventListener mockEventListener = mock(EventListener.class); - player.addListener(mockEventListener); + Player.Listener mockPlayerListener = mock(Player.Listener.class); + player.addListener(mockPlayerListener); player.setMediaSource(firstSource); player.prepare(); @@ -444,38 +442,38 @@ public final class ExoPlayerTest { // prepared, it immediately exposed a placeholder timeline, but the source info refresh from the // second source was suppressed as we replace it with the third source before the update // arrives. - InOrder inOrder = inOrder(mockEventListener); + InOrder inOrder = inOrder(mockPlayerListener); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(placeholderTimeline)), eq(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(firstTimeline)), eq(Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(placeholderTimeline)), eq(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onPositionDiscontinuity(any(), any(), eq(Player.DISCONTINUITY_REASON_REMOVE)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(placeholderTimeline)), eq(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onPositionDiscontinuity(any(), any(), eq(Player.DISCONTINUITY_REASON_REMOVE)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTimelineChanged( argThat(noUid(thirdTimeline)), eq(Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE)); inOrder - .verify(mockEventListener) + .verify(mockPlayerListener) .onTracksChanged( eq(new TrackGroupArray(new TrackGroup(ExoPlayerTestRunner.VIDEO_FORMAT))), any()); assertThat(renderer.isEnded).isTrue(); @@ -1691,7 +1689,7 @@ public final class ExoPlayerTest { @Test public void seekAndReprepareAfterPlaybackError_keepsSeekPositionAndTimeline() throws Exception { SimpleExoPlayer player = new TestExoPlayerBuilder(context).build(); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); player.addListener(mockListener); FakeMediaSource fakeMediaSource = new FakeMediaSource(); player.setMediaSource(fakeMediaSource); @@ -2853,23 +2851,23 @@ public final class ExoPlayerTest { // We add two listeners to the player. The first stops the player as soon as it's ready and both // record the state change events they receive. final AtomicReference playerReference = new AtomicReference<>(); - final List eventListener1States = new ArrayList<>(); - final List eventListener2States = new ArrayList<>(); - final EventListener eventListener1 = - new EventListener() { + final List playerListener1States = new ArrayList<>(); + final List playerListener2States = new ArrayList<>(); + final Player.Listener playerListener1 = + new Player.Listener() { @Override public void onPlaybackStateChanged(@Player.State int playbackState) { - eventListener1States.add(playbackState); + playerListener1States.add(playbackState); if (playbackState == Player.STATE_READY) { playerReference.get().stop(/* reset= */ true); } } }; - final EventListener eventListener2 = - new EventListener() { + final Player.Listener playerListener2 = + new Player.Listener() { @Override public void onPlaybackStateChanged(@Player.State int playbackState) { - eventListener2States.add(playbackState); + playerListener2States.add(playbackState); } }; ActionSchedule actionSchedule = @@ -2879,8 +2877,8 @@ public final class ExoPlayerTest { @Override public void run(SimpleExoPlayer player) { playerReference.set(player); - player.addListener(eventListener1); - player.addListener(eventListener2); + player.addListener(playerListener1); + player.addListener(playerListener2); } }) .build(); @@ -2890,10 +2888,10 @@ public final class ExoPlayerTest { .start() .blockUntilEnded(TIMEOUT_MS); - assertThat(eventListener1States) + assertThat(playerListener1States) .containsExactly(Player.STATE_BUFFERING, Player.STATE_READY, Player.STATE_IDLE) .inOrder(); - assertThat(eventListener2States) + assertThat(playerListener2States) .containsExactly(Player.STATE_BUFFERING, Player.STATE_READY, Player.STATE_IDLE) .inOrder(); } @@ -2903,15 +2901,15 @@ public final class ExoPlayerTest { // The listener stops the player as soon as it's ready (which should report a timeline and state // change) and sets playWhenReady to false when the timeline callback is received. final AtomicReference playerReference = new AtomicReference<>(); - final List eventListenerPlayWhenReady = new ArrayList<>(); - final List eventListenerStates = new ArrayList<>(); + final List playerListenerPlayWhenReady = new ArrayList<>(); + final List playerListenerStates = new ArrayList<>(); List sequence = new ArrayList<>(); - final EventListener eventListener = - new EventListener() { + final Player.Listener playerListener = + new Player.Listener() { @Override public void onPlaybackStateChanged(@Player.State int playbackState) { - eventListenerStates.add(playbackState); + playerListenerStates.add(playbackState); if (playbackState == Player.STATE_READY) { playerReference.get().stop(/* reset= */ true); sequence.add(0); @@ -2929,7 +2927,7 @@ public final class ExoPlayerTest { @Override public void onPlayWhenReadyChanged( boolean playWhenReady, @Player.PlayWhenReadyChangeReason int reason) { - eventListenerPlayWhenReady.add(playWhenReady); + playerListenerPlayWhenReady.add(playWhenReady); sequence.add(2); } }; @@ -2940,7 +2938,7 @@ public final class ExoPlayerTest { @Override public void run(SimpleExoPlayer player) { playerReference.set(player); - player.addListener(eventListener); + player.addListener(playerListener); } }) .build(); @@ -2950,10 +2948,10 @@ public final class ExoPlayerTest { .start() .blockUntilEnded(TIMEOUT_MS); - assertThat(eventListenerStates) + assertThat(playerListenerStates) .containsExactly(Player.STATE_BUFFERING, Player.STATE_READY, Player.STATE_IDLE) .inOrder(); - assertThat(eventListenerPlayWhenReady).containsExactly(false).inOrder(); + assertThat(playerListenerPlayWhenReady).containsExactly(false).inOrder(); assertThat(sequence).containsExactly(0, 1, 2).inOrder(); } @@ -2963,8 +2961,8 @@ public final class ExoPlayerTest { Timeline secondTimeline = new FakeTimeline(/* windowCount= */ 3); final AtomicReference playerReference = new AtomicReference<>(); FakeMediaSource secondMediaSource = new FakeMediaSource(secondTimeline); - final EventListener eventListener = - new EventListener() { + final Player.Listener playerListener = + new Player.Listener() { @Override public void onPlaybackStateChanged(int state) { if (state == Player.STATE_IDLE) { @@ -2979,7 +2977,7 @@ public final class ExoPlayerTest { @Override public void run(SimpleExoPlayer player) { playerReference.set(player); - player.addListener(eventListener); + player.addListener(playerListener); } }) // Ensure there are no further pending callbacks. @@ -3023,8 +3021,8 @@ public final class ExoPlayerTest { AtomicLong positionAtDiscontinuityMs = new AtomicLong(C.TIME_UNSET); AtomicLong clockAtStartMs = new AtomicLong(C.TIME_UNSET); AtomicLong clockAtDiscontinuityMs = new AtomicLong(C.TIME_UNSET); - EventListener eventListener = - new EventListener() { + Player.Listener playerListener = + new Player.Listener() { @Override public void onPlaybackStateChanged(@Player.State int playbackState) { if (playbackState == Player.STATE_READY && clockAtStartMs.get() == C.TIME_UNSET) { @@ -3047,7 +3045,7 @@ public final class ExoPlayerTest { @Override public void run(SimpleExoPlayer player) { playerReference.set(player); - player.addListener(eventListener); + player.addListener(playerListener); } }) .pause() @@ -3099,8 +3097,8 @@ public final class ExoPlayerTest { .setMediaSources(mediaSource) .setSupportedFormats(ExoPlayerTestRunner.VIDEO_FORMAT, ExoPlayerTestRunner.AUDIO_FORMAT) .setActionSchedule(actionSchedule) - .setEventListener( - new EventListener() { + .setPlayerListener( + new Player.Listener() { @Override public void onTracksChanged( TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { @@ -3253,8 +3251,8 @@ public final class ExoPlayerTest { windowDurationUs)); AtomicReference playerReference = new AtomicReference<>(); AtomicLong bufferedPositionAtFirstDiscontinuityMs = new AtomicLong(C.TIME_UNSET); - EventListener eventListener = - new EventListener() { + Player.Listener playerListener = + new Player.Listener() { @Override public void onPositionDiscontinuity(@DiscontinuityReason int reason) { if (reason == Player.DISCONTINUITY_REASON_AUTO_TRANSITION) { @@ -3272,7 +3270,7 @@ public final class ExoPlayerTest { @Override public void run(SimpleExoPlayer player) { playerReference.set(player); - player.addListener(eventListener); + player.addListener(playerListener); } }) .pause() @@ -3307,8 +3305,8 @@ public final class ExoPlayerTest { FakeMediaSource fakeMediaSource = new FakeMediaSource(/* timeline= */ null); AtomicReference playerReference = new AtomicReference<>(); AtomicLong contentStartPositionMs = new AtomicLong(C.TIME_UNSET); - EventListener eventListener = - new EventListener() { + Player.Listener playerListener = + new Player.Listener() { @Override public void onPositionDiscontinuity(@DiscontinuityReason int reason) { if (reason == Player.DISCONTINUITY_REASON_AUTO_TRANSITION) { @@ -3323,7 +3321,7 @@ public final class ExoPlayerTest { @Override public void run(SimpleExoPlayer player) { playerReference.set(player); - player.addListener(eventListener); + player.addListener(playerListener); } }) .seek(/* positionMs= */ 5_000) @@ -3360,8 +3358,8 @@ public final class ExoPlayerTest { FakeMediaSource fakeMediaSource = new FakeMediaSource(/* timeline= */ null); AtomicReference playerReference = new AtomicReference<>(); AtomicLong contentStartPositionMs = new AtomicLong(C.TIME_UNSET); - EventListener eventListener = - new EventListener() { + Player.Listener playerListener = + new Player.Listener() { @Override public void onPositionDiscontinuity(@DiscontinuityReason int reason) { if (reason == Player.DISCONTINUITY_REASON_AUTO_TRANSITION) { @@ -3376,7 +3374,7 @@ public final class ExoPlayerTest { @Override public void run(SimpleExoPlayer player) { playerReference.set(player); - player.addListener(eventListener); + player.addListener(playerListener); } }) .waitForPlaybackState(Player.STATE_BUFFERING) @@ -3419,8 +3417,8 @@ public final class ExoPlayerTest { .play() .build(); List reportedPlaybackSpeeds = new ArrayList<>(); - EventListener listener = - new EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { reportedPlaybackSpeeds.add(playbackParameters.speed); @@ -3428,7 +3426,7 @@ public final class ExoPlayerTest { }; new ExoPlayerTestRunner.Builder(context) .setActionSchedule(actionSchedule) - .setEventListener(listener) + .setPlayerListener(listener) .build() .start() .blockUntilEnded(TIMEOUT_MS); @@ -3466,8 +3464,8 @@ public final class ExoPlayerTest { .play() .build(); List reportedPlaybackParameters = new ArrayList<>(); - EventListener listener = - new EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { reportedPlaybackParameters.add(playbackParameters); @@ -3477,7 +3475,7 @@ public final class ExoPlayerTest { .setSupportedFormats(ExoPlayerTestRunner.AUDIO_FORMAT) .setRenderers(renderer) .setActionSchedule(actionSchedule) - .setEventListener(listener) + .setPlayerListener(listener) .build() .start() .blockUntilEnded(TIMEOUT_MS); @@ -3501,8 +3499,8 @@ public final class ExoPlayerTest { .play() .build(); AtomicBoolean seenPlaybackSuppression = new AtomicBoolean(); - EventListener listener = - new EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPlaybackSuppressionReasonChanged( @Player.PlaybackSuppressionReason int playbackSuppressionReason) { @@ -3511,7 +3509,7 @@ public final class ExoPlayerTest { }; new ExoPlayerTestRunner.Builder(context) .setActionSchedule(actionSchedule) - .setEventListener(listener) + .setPlayerListener(listener) .build() .start() .blockUntilEnded(TIMEOUT_MS); @@ -3533,8 +3531,8 @@ public final class ExoPlayerTest { .executeRunnable(playerStateGrabber) .build(); AtomicBoolean seenPlaybackSuppression = new AtomicBoolean(); - EventListener listener = - new EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPlaybackSuppressionReasonChanged( @Player.PlaybackSuppressionReason int playbackSuppressionReason) { @@ -3543,7 +3541,7 @@ public final class ExoPlayerTest { }; new ExoPlayerTestRunner.Builder(context) .setActionSchedule(actionSchedule) - .setEventListener(listener) + .setPlayerListener(listener) .build() .start() .blockUntilActionScheduleFinished(TIMEOUT_MS); @@ -7443,15 +7441,15 @@ public final class ExoPlayerTest { .waitForPlaybackState(Player.STATE_ENDED) .build(); List onIsPlayingChanges = new ArrayList<>(); - Player.EventListener eventListener = - new Player.EventListener() { + Player.Listener playerListener = + new Player.Listener() { @Override public void onIsPlayingChanged(boolean isPlaying) { onIsPlayingChanges.add(isPlaying); } }; new ExoPlayerTestRunner.Builder(context) - .setEventListener(eventListener) + .setPlayerListener(playerListener) .setActionSchedule(actionSchedule) .build() .start() @@ -7468,8 +7466,8 @@ public final class ExoPlayerTest { String isPlayingChange1 = "isPlayingChange1"; String isPlayingChange2 = "isPlayingChange2"; ArrayList events = new ArrayList<>(); - Player.EventListener eventListener1 = - new Player.EventListener() { + Player.Listener playerListener1 = + new Player.Listener() { @Override public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) { events.add(playWhenReadyChange1); @@ -7480,8 +7478,8 @@ public final class ExoPlayerTest { events.add(isPlayingChange1); } }; - Player.EventListener eventListener2 = - new Player.EventListener() { + Player.Listener playerListener2 = + new Player.Listener() { @Override public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) { events.add(playWhenReadyChange2); @@ -7499,8 +7497,8 @@ public final class ExoPlayerTest { new PlayerRunnable() { @Override public void run(SimpleExoPlayer player) { - player.addListener(eventListener1); - player.addListener(eventListener2); + player.addListener(playerListener1); + player.addListener(playerListener2); } }) .waitForPlaybackState(Player.STATE_READY) @@ -7677,8 +7675,8 @@ public final class ExoPlayerTest { .build(); List currentMediaItems = new ArrayList<>(); List mediaItemsInTimeline = new ArrayList<>(); - Player.EventListener eventListener = - new Player.EventListener() { + Player.Listener playerListener = + new Player.Listener() { @Override public void onTimelineChanged(Timeline timeline, int reason) { if (reason != Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED) { @@ -7699,7 +7697,7 @@ public final class ExoPlayerTest { } }; new ExoPlayerTestRunner.Builder(context) - .setEventListener(eventListener) + .setPlayerListener(playerListener) .setActionSchedule(actionSchedule) .setMediaSources(fakeMediaSource1, fakeMediaSource2, fakeMediaSource3) .build() @@ -8154,7 +8152,7 @@ public final class ExoPlayerTest { Player.Commands commandsWithSeekToNextAndPrevious = createWithDefaultCommands( COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8189,7 +8187,7 @@ public final class ExoPlayerTest { Player.Commands commandsWithSeekToNextAndPrevious = createWithDefaultCommands( COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8218,7 +8216,7 @@ public final class ExoPlayerTest { @Test public void seekTo_sameWindow_doesNotNotifyAvailableCommandsChanged() { - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8243,7 +8241,7 @@ public final class ExoPlayerTest { COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8281,7 +8279,7 @@ public final class ExoPlayerTest { public void addMediaSource_atTheEnd_notifiesAvailableCommandsChanged() { Player.Commands commandsWithSeekToNext = createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8301,7 +8299,7 @@ public final class ExoPlayerTest { public void addMediaSource_atTheStart_notifiesAvailableCommandsChanged() { Player.Commands commandsWithSeekToPrevious = createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8322,7 +8320,7 @@ public final class ExoPlayerTest { Player.Commands commandsWithSeekToNext = createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM); Player.Commands commandsWithoutSeek = createWithDefaultCommands(); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8348,7 +8346,7 @@ public final class ExoPlayerTest { Player.Commands commandsWithSeekToPrevious = createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); Player.Commands commandsWithoutSeek = createWithDefaultCommands(); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8375,7 +8373,7 @@ public final class ExoPlayerTest { Player.Commands commandsWithSeekToNext = createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM); Player.Commands commandsWithoutSeek = createWithDefaultCommands(); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8394,7 +8392,7 @@ public final class ExoPlayerTest { Player.Commands commandsWithSeekToNextAndPrevious = createWithDefaultCommands( COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8409,7 +8407,7 @@ public final class ExoPlayerTest { @Test public void setRepeatMode_one_doesNotNotifyAvailableCommandsChanged() { - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -8424,7 +8422,7 @@ public final class ExoPlayerTest { createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM); Player.Commands commandsWithSeekToPrevious = createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); MediaSource mediaSource = @@ -8739,7 +8737,7 @@ public final class ExoPlayerTest { /* description= */ "Audio", /* value= */ "Audio track name"))) .build(); - EventListener eventListener = mock(EventListener.class); + Player.Listener playerListener = mock(Player.Listener.class); Timeline fakeTimeline = new FakeTimeline( new TimelineWindowDefinition( @@ -8747,7 +8745,7 @@ public final class ExoPlayerTest { SimpleExoPlayer player = new TestExoPlayerBuilder(context).build(); player.setMediaSource(new FakeMediaSource(fakeTimeline, videoFormat, audioFormat)); - player.addListener(eventListener); + player.addListener(playerListener); player.prepare(); player.play(); runUntilPlaybackState(player, Player.STATE_ENDED); @@ -8755,7 +8753,7 @@ public final class ExoPlayerTest { player.release(); assertThat(metadata).containsExactly(videoFormat.metadata, audioFormat.metadata).inOrder(); - verify(eventListener) + verify(playerListener) .onStaticMetadataChanged(ImmutableList.of(videoFormat.metadata, audioFormat.metadata)); } @@ -8764,7 +8762,7 @@ public final class ExoPlayerTest { throws Exception { Format videoFormat = new Format.Builder().setSampleMimeType(MimeTypes.VIDEO_H264).build(); Format audioFormat = new Format.Builder().setSampleMimeType(MimeTypes.AUDIO_AAC).build(); - EventListener eventListener = mock(EventListener.class); + Player.Listener playerListener = mock(Player.Listener.class); Timeline fakeTimeline = new FakeTimeline( new TimelineWindowDefinition( @@ -8772,7 +8770,7 @@ public final class ExoPlayerTest { SimpleExoPlayer player = new TestExoPlayerBuilder(context).build(); player.setMediaSource(new FakeMediaSource(fakeTimeline, videoFormat, audioFormat)); - player.addListener(eventListener); + player.addListener(playerListener); player.prepare(); player.play(); runUntilPlaybackState(player, Player.STATE_ENDED); @@ -8780,7 +8778,7 @@ public final class ExoPlayerTest { player.release(); assertThat(metadata).isEmpty(); - verify(eventListener, never()).onStaticMetadataChanged(any()); + verify(playerListener, never()).onStaticMetadataChanged(any()); } @Test @@ -8806,7 +8804,7 @@ public final class ExoPlayerTest { /* windowOffsetInFirstPeriodUs= */ C.msToUs(windowStartUnixTimeMs), AdPlaybackState.NONE, new MediaItem.Builder().setUri(Uri.EMPTY).setLiveTargetOffsetMs(9_000).build())); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); player.addListener(mockListener); player.pause(); player.setMediaSource(new FakeMediaSource(timeline)); @@ -8975,7 +8973,7 @@ public final class ExoPlayerTest { public void playerIdle_withSetPlaybackSpeed_usesPlaybackParameterSpeedWithPitchUnchanged() { ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.setPlaybackParameters(new PlaybackParameters(/* speed= */ 1, /* pitch= */ 2)); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); player.addListener(mockListener); player.prepare(); @@ -9009,7 +9007,7 @@ public final class ExoPlayerTest { /* windowOffsetInFirstPeriodUs= */ C.msToUs(windowStartUnixTimeMs), AdPlaybackState.NONE, new MediaItem.Builder().setUri(Uri.EMPTY).setLiveTargetOffsetMs(9_000).build())); - Player.EventListener mockListener = mock(Player.EventListener.class); + Player.Listener mockListener = mock(Player.Listener.class); player.addListener(mockListener); player.pause(); player.setMediaSource(new FakeMediaSource(timeline)); @@ -9269,7 +9267,7 @@ public final class ExoPlayerTest { @Test public void onEvents_correspondToListenerCalls() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); Format formatWithStaticMetadata = new Format.Builder() @@ -9297,7 +9295,7 @@ public final class ExoPlayerTest { // Set values recursively. player.addListener( - new EventListener() { + new Player.Listener() { @Override public void onRepeatModeChanged(int repeatMode) { player.setShuffleModeEnabled(true); @@ -9359,7 +9357,7 @@ public final class ExoPlayerTest { @Test public void play_withPreMidAndPostRollAd_callsOnDiscontinuityCorrectly() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); AdPlaybackState adPlaybackState = FakeTimeline.createAdPlaybackState( @@ -9497,7 +9495,7 @@ public final class ExoPlayerTest { @Test public void seekTo_seekOverMidRoll_callsOnDiscontinuityCorrectly() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); AdPlaybackState adPlaybackState = FakeTimeline.createAdPlaybackState( @@ -9586,7 +9584,7 @@ public final class ExoPlayerTest { @Test public void play_multiItemPlaylistWidthAds_callsOnDiscontinuityCorrectly() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); AdPlaybackState postRollAdPlaybackState = FakeTimeline.createAdPlaybackState( @@ -9744,7 +9742,7 @@ public final class ExoPlayerTest { /* isDynamic= */ false, /* durationUs= */ 15 * C.MICROS_PER_SECOND))); ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); player.setMediaSource( new FakeMediaSource( @@ -9790,7 +9788,7 @@ public final class ExoPlayerTest { public void removeMediaItems_removesPlayingPeriod_callsOnPositionDiscontinuity() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); player.setMediaSources( Lists.newArrayList( @@ -9870,7 +9868,7 @@ public final class ExoPlayerTest { concatenatingMediaSourceRemoveMediaSource_removesPlayingPeriod_callsOnPositionDiscontinuity() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); ConcatenatingMediaSource concatenatingMediaSource = new ConcatenatingMediaSource( @@ -9943,7 +9941,7 @@ public final class ExoPlayerTest { concatenatingMediaSourceRemoveMediaSourceWithSeek_overridesRemoval_callsOnPositionDiscontinuity() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); ConcatenatingMediaSource concatenatingMediaSource = new ConcatenatingMediaSource( @@ -10023,7 +10021,7 @@ public final class ExoPlayerTest { @Test public void seekTo_callsOnPositionDiscontinuity() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); player.setMediaSources(Lists.newArrayList(new FakeMediaSource(), new FakeMediaSource())); @@ -10066,7 +10064,7 @@ public final class ExoPlayerTest { @Test public void seekTo_whenTimelineEmpty_callsOnPositionDiscontinuity() { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); player.seekTo(/* positionMs= */ 7 * C.MILLIS_PER_SECOND); @@ -10117,7 +10115,7 @@ public final class ExoPlayerTest { @Test public void stop_doesNotCallOnPositionDiscontinuity() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); player.setMediaSource(new FakeMediaSource()); @@ -10135,7 +10133,7 @@ public final class ExoPlayerTest { @Test public void stop_withResetRemovesPlayingPeriod_callsOnPositionDiscontinuity() throws Exception { ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); player.setMediaSource(new FakeMediaSource()); @@ -10178,7 +10176,7 @@ public final class ExoPlayerTest { final FakeMediaSource mediaSource = new FakeMediaSource(timeline1, ExoPlayerTestRunner.VIDEO_FORMAT); ExoPlayer player = new TestExoPlayerBuilder(context).build(); - EventListener listener = mock(EventListener.class); + Player.Listener listener = mock(Player.Listener.class); player.addListener(listener); player.setMediaSource(mediaSource); diff --git a/library/core/src/test/java/com/google/android/exoplayer2/analytics/AnalyticsCollectorTest.java b/library/core/src/test/java/com/google/android/exoplayer2/analytics/AnalyticsCollectorTest.java index 48aa8b7a93..9545209805 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/analytics/AnalyticsCollectorTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/analytics/AnalyticsCollectorTest.java @@ -1041,7 +1041,7 @@ public final class AnalyticsCollectorTest { @Override public void run(SimpleExoPlayer player) { player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onPositionDiscontinuity( Player.PositionInfo oldPosition, diff --git a/robolectricutils/src/main/java/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.java b/robolectricutils/src/main/java/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.java index 81c24421ca..918d2330f9 100644 --- a/robolectricutils/src/main/java/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.java +++ b/robolectricutils/src/main/java/com/google/android/exoplayer2/robolectric/TestPlayerRunHelper.java @@ -58,8 +58,8 @@ public class TestPlayerRunHelper { return; } AtomicBoolean receivedExpectedState = new AtomicBoolean(false); - Player.EventListener listener = - new Player.EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPlaybackStateChanged(int state) { if (state == expectedState) { @@ -88,8 +88,8 @@ public class TestPlayerRunHelper { return; } AtomicBoolean receivedExpectedPlayWhenReady = new AtomicBoolean(false); - Player.EventListener listener = - new Player.EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) { if (playWhenReady == expectedPlayWhenReady) { @@ -118,8 +118,8 @@ public class TestPlayerRunHelper { return; } AtomicBoolean receivedExpectedTimeline = new AtomicBoolean(false); - Player.EventListener listener = - new Player.EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onTimelineChanged(Timeline timeline, int reason) { if (expectedTimeline.equals(timeline)) { @@ -143,8 +143,8 @@ public class TestPlayerRunHelper { public static Timeline runUntilTimelineChanged(Player player) throws TimeoutException { verifyMainTestThread(player); AtomicReference receivedTimeline = new AtomicReference<>(); - Player.EventListener listener = - new Player.EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onTimelineChanged(Timeline timeline, int reason) { receivedTimeline.set(timeline); @@ -158,7 +158,7 @@ public class TestPlayerRunHelper { /** * Runs tasks of the main {@link Looper} until a {@link - * Player.EventListener#onPositionDiscontinuity(Player.PositionInfo, Player.PositionInfo, int)} + * Player.Listener#onPositionDiscontinuity(Player.PositionInfo, Player.PositionInfo, int)} * callback with the specified {@link Player.DiscontinuityReason} occurred. * * @param player The {@link Player}. @@ -170,8 +170,8 @@ public class TestPlayerRunHelper { Player player, @Player.DiscontinuityReason int expectedReason) throws TimeoutException { verifyMainTestThread(player); AtomicBoolean receivedCallback = new AtomicBoolean(false); - Player.EventListener listener = - new Player.EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPositionDiscontinuity( Player.PositionInfo oldPosition, Player.PositionInfo newPosition, int reason) { @@ -196,8 +196,8 @@ public class TestPlayerRunHelper { public static ExoPlaybackException runUntilError(Player player) throws TimeoutException { verifyMainTestThread(player); AtomicReference receivedError = new AtomicReference<>(); - Player.EventListener listener = - new Player.EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onPlayerError(ExoPlaybackException error) { receivedError.set(error); diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/Action.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/Action.java index e5ce17be08..81f9b57c1e 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/Action.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/Action.java @@ -729,7 +729,7 @@ public abstract class Action { } } - /** Waits for {@link Player.EventListener#onTimelineChanged(Timeline, int)}. */ + /** Waits for {@link Player.Listener#onTimelineChanged(Timeline, int)}. */ public static final class WaitForTimelineChanged extends Action { @Nullable private final Timeline expectedTimeline; @@ -776,8 +776,8 @@ public abstract class Action { if (nextAction == null) { return; } - Player.EventListener listener = - new Player.EventListener() { + Player.Listener listener = + new Player.Listener() { @Override public void onTimelineChanged( Timeline timeline, @Player.TimelineChangeReason int reason) { @@ -804,7 +804,7 @@ public abstract class Action { } /** - * Waits for {@link Player.EventListener#onPositionDiscontinuity(Player.PositionInfo, + * Waits for {@link Player.Listener#onPositionDiscontinuity(Player.PositionInfo, * Player.PositionInfo, int)}. */ public static final class WaitForPositionDiscontinuity extends Action { @@ -825,7 +825,7 @@ public abstract class Action { return; } player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onPositionDiscontinuity( Player.PositionInfo oldPosition, @@ -846,7 +846,7 @@ public abstract class Action { /** * Waits for a specified playWhenReady value, returning either immediately or after a call to - * {@link Player.EventListener#onPlayWhenReadyChanged(boolean, int)}. + * {@link Player.Listener#onPlayWhenReadyChanged(boolean, int)}. */ public static final class WaitForPlayWhenReady extends Action { @@ -875,7 +875,7 @@ public abstract class Action { nextAction.schedule(player, trackSelector, surface, handler); } else { player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onPlayWhenReadyChanged( boolean playWhenReady, @Player.PlayWhenReadyChangeReason int reason) { @@ -897,7 +897,7 @@ public abstract class Action { /** * Waits for a specified playback state, returning either immediately or after a call to {@link - * Player.EventListener#onPlaybackStateChanged(int)}. + * Player.Listener#onPlaybackStateChanged(int)}. */ public static final class WaitForPlaybackState extends Action { @@ -926,7 +926,7 @@ public abstract class Action { nextAction.schedule(player, trackSelector, surface, handler); } else { player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onPlaybackStateChanged(@Player.State int playbackState) { if (targetPlaybackState == playbackState) { @@ -987,7 +987,7 @@ public abstract class Action { /** * Waits for a specified loading state, returning either immediately or after a call to {@link - * Player.EventListener#onIsLoadingChanged(boolean)}. + * Player.Listener#onIsLoadingChanged(boolean)}. */ public static final class WaitForIsLoading extends Action { @@ -1016,7 +1016,7 @@ public abstract class Action { nextAction.schedule(player, trackSelector, surface, handler); } else { player.addListener( - new Player.EventListener() { + new Player.Listener() { @Override public void onIsLoadingChanged(boolean isLoading) { if (targetIsLoading == isLoading) { diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java index 87818b6455..c578eeb7a2 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.java @@ -50,7 +50,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeoutException; /** Helper class to run an ExoPlayer test. */ -public final class ExoPlayerTestRunner implements Player.EventListener, ActionSchedule.Callback { +public final class ExoPlayerTestRunner implements Player.Listener, ActionSchedule.Callback { /** A generic video {@link Format} which can be used to set up a {@link FakeMediaSource}. */ public static final Format VIDEO_FORMAT = @@ -82,7 +82,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc private Object manifest; private ActionSchedule actionSchedule; private Surface surface; - private Player.EventListener eventListener; + private Player.Listener playerListener; private AnalyticsListener analyticsListener; private Integer expectedPlayerEndedCount; private boolean pauseAtEndOfMediaItems; @@ -290,14 +290,14 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc } /** - * Sets an {@link Player.EventListener} to be registered to listen to player events. + * Sets an {@link Player.Listener} to be registered to listen to player events. * - * @param eventListener A {@link Player.EventListener} to be registered by the test runner to - * listen to player events. + * @param playerListener A {@link Player.Listener} to be registered by the test runner to listen + * to player events. * @return This builder. */ - public Builder setEventListener(Player.EventListener eventListener) { - this.eventListener = eventListener; + public Builder setPlayerListener(Player.Listener playerListener) { + this.playerListener = playerListener; return this; } @@ -349,7 +349,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc initialPositionMs, surface, actionSchedule, - eventListener, + playerListener, analyticsListener, expectedPlayerEndedCount, pauseAtEndOfMediaItems); @@ -363,7 +363,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc private final long initialPositionMs; @Nullable private final Surface surface; @Nullable private final ActionSchedule actionSchedule; - @Nullable private final Player.EventListener eventListener; + @Nullable private final Player.Listener playerListener; @Nullable private final AnalyticsListener analyticsListener; private final Clock clock; @@ -393,7 +393,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc long initialPositionMs, @Nullable Surface surface, @Nullable ActionSchedule actionSchedule, - @Nullable Player.EventListener eventListener, + @Nullable Player.Listener playerListener, @Nullable AnalyticsListener analyticsListener, int expectedPlayerEndedCount, boolean pauseAtEndOfMediaItems) { @@ -404,7 +404,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc this.initialPositionMs = initialPositionMs; this.surface = surface; this.actionSchedule = actionSchedule; - this.eventListener = eventListener; + this.playerListener = playerListener; this.analyticsListener = analyticsListener; this.clock = playerBuilder.getClock(); timelines = new ArrayList<>(); @@ -454,8 +454,8 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc player.setPauseAtEndOfMediaItems(true); } player.addListener(ExoPlayerTestRunner.this); - if (eventListener != null) { - player.addListener(eventListener); + if (playerListener != null) { + player.addListener(playerListener); } if (analyticsListener != null) { player.addAnalyticsListener(analyticsListener); @@ -530,8 +530,8 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc // Assertions called on the test thread after test finished. /** - * Asserts that the timelines reported by {@link Player.EventListener#onTimelineChanged(Timeline, - * int)} are the same to the provided timelines. This assert differs from testing equality by not + * Asserts that the timelines reported by {@link Player.Listener#onTimelineChanged(Timeline, int)} + * are the same to the provided timelines. This assert differs from testing equality by not * comparing period ids which may be different due to id mapping of child source period ids. * * @param timelines A list of expected {@link Timeline}s. @@ -546,8 +546,8 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc /** * Asserts that the timeline change reasons reported by {@link - * Player.EventListener#onTimelineChanged(Timeline, int)} are equal to the provided timeline - * change reasons. + * Player.Listener#onTimelineChanged(Timeline, int)} are equal to the provided timeline change + * reasons. */ public void assertTimelineChangeReasonsEqual(Integer... reasons) { assertThat(timelineChangeReasons).containsExactlyElementsIn(Arrays.asList(reasons)).inOrder(); @@ -555,7 +555,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc /** * Asserts that the media items reported by {@link - * Player.EventListener#onMediaItemTransition(MediaItem, int)} are the same as the provided media + * Player.Listener#onMediaItemTransition(MediaItem, int)} are the same as the provided media * items. * * @param mediaItems A list of expected {@link MediaItem media items}. @@ -566,8 +566,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc /** * Asserts that the media item transition reasons reported by {@link - * Player.EventListener#onMediaItemTransition(MediaItem, int)} are the same as the provided - * reasons. + * Player.Listener#onMediaItemTransition(MediaItem, int)} are the same as the provided reasons. * * @param reasons A list of expected transition reasons. */ @@ -577,7 +576,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc /** * Asserts that the playback states reported by {@link - * Player.EventListener#onPlaybackStateChanged(int)} are equal to the provided playback states. + * Player.Listener#onPlaybackStateChanged(int)} are equal to the provided playback states. */ public void assertPlaybackStatesEqual(Integer... states) { assertThat(playbackStates).containsExactlyElementsIn(states).inOrder(); @@ -585,8 +584,8 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc /** * Asserts that the last track group array reported by {@link - * Player.EventListener#onTracksChanged(TrackGroupArray, TrackSelectionArray)} is equal to the - * provided track group array. + * Player.Listener#onTracksChanged(TrackGroupArray, TrackSelectionArray)} is equal to the provided + * track group array. * * @param trackGroupArray The expected {@link TrackGroupArray}. */ @@ -595,7 +594,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc } /** - * Asserts that {@link Player.EventListener#onPositionDiscontinuity(Player.PositionInfo, + * Asserts that {@link Player.Listener#onPositionDiscontinuity(Player.PositionInfo, * Player.PositionInfo, int)} was not called. */ public void assertNoPositionDiscontinuities() { @@ -604,8 +603,8 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc /** * Asserts that the discontinuity reasons reported by {@link - * Player.EventListener#onPositionDiscontinuity(Player.PositionInfo, Player.PositionInfo, int)} - * are equal to the provided values. + * Player.Listener#onPositionDiscontinuity(Player.PositionInfo, Player.PositionInfo, int)} are + * equal to the provided values. * * @param discontinuityReasons The expected discontinuity reasons. */ @@ -657,7 +656,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc } } - // Player.EventListener + // Player.Listener @Override public void onTimelineChanged(Timeline timeline, @Player.TimelineChangeReason int reason) {