From 75c3bfb55c6827b796fad7f322b3c3b06083bac0 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 28 Feb 2018 05:46:18 -0800 Subject: [PATCH] Rename Listener for timeline update to avoid confusion with MediaSourceEventListener. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=187313128 --- .../exoplayer2/ext/ima/ImaAdsMediaSource.java | 4 ++-- .../exoplayer2/ExoPlayerImplInternal.java | 4 ++-- .../exoplayer2/source/BaseMediaSource.java | 9 +++---- .../source/CompositeMediaSource.java | 8 +++---- .../exoplayer2/source/MediaPeriod.java | 5 ++-- .../exoplayer2/source/MediaSource.java | 24 +++++++++---------- .../source/dash/DashMediaSource.java | 4 ++-- .../testutil/MediaSourceTestRunner.java | 7 ++++-- 8 files changed, 35 insertions(+), 30 deletions(-) diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsMediaSource.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsMediaSource.java index 1010a27178..d3e1d9725e 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsMediaSource.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsMediaSource.java @@ -38,7 +38,7 @@ public final class ImaAdsMediaSource extends BaseMediaSource { private final AdsMediaSource adsMediaSource; - private Listener adsMediaSourceListener; + private SourceInfoRefreshListener adsMediaSourceListener; /** * Constructs a new source that inserts ads linearly with the content specified by @@ -79,7 +79,7 @@ public final class ImaAdsMediaSource extends BaseMediaSource { @Override public void prepareSourceInternal(final ExoPlayer player, boolean isTopLevelSource) { adsMediaSourceListener = - new Listener() { + new SourceInfoRefreshListener() { @Override public void onSourceInfoRefreshed( MediaSource source, Timeline timeline, @Nullable Object manifest) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java index 2272bef573..3dd3fbcded 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java @@ -48,7 +48,7 @@ import java.util.Collections; implements Handler.Callback, MediaPeriod.Callback, TrackSelector.InvalidationListener, - MediaSource.Listener, + MediaSource.SourceInfoRefreshListener, PlaybackParameterListener, PlayerMessage.Sender { @@ -243,7 +243,7 @@ import java.util.Collections; return internalPlaybackThread.getLooper(); } - // MediaSource.Listener implementation. + // MediaSource.SourceInfoRefreshListener implementation. @Override public void onSourceInfoRefreshed(MediaSource source, Timeline timeline, Object manifest) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/BaseMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/BaseMediaSource.java index a6924b5e05..d3af28da92 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/BaseMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/BaseMediaSource.java @@ -29,7 +29,7 @@ import java.util.ArrayList; */ public abstract class BaseMediaSource implements MediaSource { - private final ArrayList sourceInfoListeners; + private final ArrayList sourceInfoListeners; private ExoPlayer player; private Timeline timeline; @@ -65,13 +65,14 @@ public abstract class BaseMediaSource implements MediaSource { protected final void refreshSourceInfo(Timeline timeline, @Nullable Object manifest) { this.timeline = timeline; this.manifest = manifest; - for (Listener listener : sourceInfoListeners) { + for (SourceInfoRefreshListener listener : sourceInfoListeners) { listener.onSourceInfoRefreshed(/* source= */ this, timeline, manifest); } } @Override - public final void prepareSource(ExoPlayer player, boolean isTopLevelSource, Listener listener) { + public final void prepareSource( + ExoPlayer player, boolean isTopLevelSource, SourceInfoRefreshListener listener) { Assertions.checkArgument(this.player == null || this.player == player); sourceInfoListeners.add(listener); if (this.player == null) { @@ -83,7 +84,7 @@ public abstract class BaseMediaSource implements MediaSource { } @Override - public final void releaseSource(Listener listener) { + public final void releaseSource(SourceInfoRefreshListener listener) { sourceInfoListeners.remove(listener); if (sourceInfoListeners.isEmpty()) { player = null; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/CompositeMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/CompositeMediaSource.java index 4f5a3c7a4e..f43010dcd4 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/CompositeMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/CompositeMediaSource.java @@ -88,8 +88,8 @@ public abstract class CompositeMediaSource extends BaseMediaSource { */ protected final void prepareChildSource(@Nullable final T id, MediaSource mediaSource) { Assertions.checkArgument(!childSources.containsKey(id)); - Listener sourceListener = - new Listener() { + SourceInfoRefreshListener sourceListener = + new SourceInfoRefreshListener() { @Override public void onSourceInfoRefreshed( MediaSource source, Timeline timeline, @Nullable Object manifest) { @@ -113,9 +113,9 @@ public abstract class CompositeMediaSource extends BaseMediaSource { private static final class MediaSourceAndListener { public final MediaSource mediaSource; - public final Listener listener; + public final SourceInfoRefreshListener listener; - public MediaSourceAndListener(MediaSource mediaSource, Listener listener) { + public MediaSourceAndListener(MediaSource mediaSource, SourceInfoRefreshListener listener) { this.mediaSource = mediaSource; this.listener = listener; } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/MediaPeriod.java b/library/core/src/main/java/com/google/android/exoplayer2/source/MediaPeriod.java index a5b2314d78..63a1ef53d0 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/MediaPeriod.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/MediaPeriod.java @@ -53,8 +53,9 @@ public interface MediaPeriod extends SequenceableLoader { * {@link #maybeThrowPrepareError()} will throw an {@link IOException}. * *

If preparation succeeds and results in a source timeline change (e.g. the period duration - * becoming known), {@link MediaSource.Listener#onSourceInfoRefreshed(MediaSource, Timeline, - * Object)} will be called before {@code callback.onPrepared}. + * becoming known), {@link + * MediaSource.SourceInfoRefreshListener#onSourceInfoRefreshed(MediaSource, Timeline, Object)} + * will be called before {@code callback.onPrepared}. * * @param callback Callback to receive updates from this period, including being notified when * preparation completes. diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSource.java index aec8ed47af..5cf35bcccc 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/MediaSource.java @@ -29,8 +29,9 @@ import java.io.IOException; *

    *
  • To provide the player with a {@link Timeline} defining the structure of its media, and to * provide a new timeline whenever the structure of the media changes. The MediaSource - * provides these timelines by calling {@link Listener#onSourceInfoRefreshed} on the {@link - * Listener}s passed to {@link #prepareSource(ExoPlayer, boolean, Listener)}. + * provides these timelines by calling {@link SourceInfoRefreshListener#onSourceInfoRefreshed} + * on the {@link SourceInfoRefreshListener}s passed to {@link #prepareSource(ExoPlayer, + * boolean, SourceInfoRefreshListener)}. *
  • To provide {@link MediaPeriod} instances for the periods in its timeline. MediaPeriods are * obtained by calling {@link #createPeriod(MediaPeriodId, Allocator)}, and provide a way for * the player to load and read the media. @@ -42,10 +43,8 @@ import java.io.IOException; */ public interface MediaSource { - /** - * Listener for source events. - */ - interface Listener { + /** Listener for source events. */ + interface SourceInfoRefreshListener { /** * Called when manifest and/or timeline has been refreshed. @@ -180,17 +179,18 @@ public interface MediaSource { * *

    The listener will be also be notified if the source already has a timeline and/or manifest. * - *

    For each call to this method, a call to {@link #releaseSource(Listener)} is needed to remove - * the listener and to release the source if no longer required. + *

    For each call to this method, a call to {@link #releaseSource(SourceInfoRefreshListener)} is + * needed to remove the listener and to release the source if no longer required. * * @param player The player for which this source is being prepared. * @param isTopLevelSource Whether this source has been passed directly to {@link * ExoPlayer#prepare(MediaSource)} or {@link ExoPlayer#prepare(MediaSource, boolean, * boolean)}. If {@code false}, this source is being prepared by another source (e.g. {@link * ConcatenatingMediaSource}) for composition. - * @param listener The listener for source info updates to be added. + * @param listener The listener to be added. */ - void prepareSource(ExoPlayer player, boolean isTopLevelSource, Listener listener); + void prepareSource( + ExoPlayer player, boolean isTopLevelSource, SourceInfoRefreshListener listener); /** * Throws any pending error encountered while loading or refreshing source information. @@ -227,7 +227,7 @@ public interface MediaSource { * *

    Should not be called directly from application code. * - * @param listener The listener for source info updates to be removed. + * @param listener The listener to be removed. */ - void releaseSource(Listener listener); + void releaseSource(SourceInfoRefreshListener listener); } diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java index d73ff5447f..59c595aa71 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java @@ -256,8 +256,8 @@ public final class DashMediaSource extends BaseMediaSource { public static final long DEFAULT_LIVE_PRESENTATION_DELAY_FIXED_MS = 30000; /** - * The interval in milliseconds between invocations of - * {@link MediaSource.Listener#onSourceInfoRefreshed(MediaSource, Timeline, Object)} when the + * The interval in milliseconds between invocations of {@link + * SourceInfoRefreshListener#onSourceInfoRefreshed(MediaSource, Timeline, Object)} when the * source's {@link Timeline} is changing dynamically (for example, for incomplete live streams). */ private static final int NOTIFY_MANIFEST_INTERVAL_MS = 5000; diff --git a/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.java b/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.java index ac6901463d..318e495872 100644 --- a/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.java +++ b/testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/MediaSourceTestRunner.java @@ -193,7 +193,10 @@ public class MediaSourceTestRunner { }); } - /** Calls {@link MediaSource#releaseSource(Listener)} on the playback thread. */ + /** + * Calls {@link MediaSource#releaseSource(MediaSource.SourceInfoRefreshListener)} on the playback + * thread. + */ public void releaseSource() { runOnPlaybackThread( new Runnable() { @@ -282,7 +285,7 @@ public class MediaSourceTestRunner { playbackThread.quit(); } - private class MediaSourceListener implements MediaSource.Listener { + private class MediaSourceListener implements MediaSource.SourceInfoRefreshListener { @Override public void onSourceInfoRefreshed(MediaSource source, Timeline timeline, Object manifest) {