diff --git a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DashDownloaderTest.java b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DashDownloaderTest.java index 841da07114..a597d780e0 100644 --- a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DashDownloaderTest.java +++ b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DashDownloaderTest.java @@ -298,7 +298,7 @@ public class DashDownloaderTest { } private DashDownloader getDashDownloader(FakeDataSet fakeDataSet, StreamKey... keys) { - return getDashDownloader(new Factory(null).setFakeDataSet(fakeDataSet), keys); + return getDashDownloader(new Factory().setFakeDataSet(fakeDataSet), keys); } private DashDownloader getDashDownloader(Factory factory, StreamKey... keys) { diff --git a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadManagerDashTest.java b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadManagerDashTest.java index d161c91b1d..88d4ed6a9d 100644 --- a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadManagerDashTest.java +++ b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadManagerDashTest.java @@ -235,8 +235,7 @@ public class DownloadManagerDashTest { private void createDownloadManager() { dummyMainThread.runOnMainThread( () -> { - Factory fakeDataSourceFactory = - new FakeDataSource.Factory(null).setFakeDataSet(fakeDataSet); + Factory fakeDataSourceFactory = new FakeDataSource.Factory().setFakeDataSet(fakeDataSet); downloadManager = new DownloadManager( new DownloaderConstructorHelper(cache, fakeDataSourceFactory), diff --git a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadServiceDashTest.java b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadServiceDashTest.java index 085e0fc555..70a64f5524 100644 --- a/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadServiceDashTest.java +++ b/library/dash/src/test/java/com/google/android/exoplayer2/source/dash/offline/DownloadServiceDashTest.java @@ -101,7 +101,7 @@ public class DownloadServiceDashTest { .setRandomData("text_segment_2", 2) .setRandomData("text_segment_3", 3); final DataSource.Factory fakeDataSourceFactory = - new FakeDataSource.Factory(null).setFakeDataSet(fakeDataSet); + new FakeDataSource.Factory().setFakeDataSet(fakeDataSet); fakeStreamKey1 = new StreamKey(0, 0, 0); fakeStreamKey2 = new StreamKey(0, 1, 0); diff --git a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloaderTest.java b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloaderTest.java index b5ecad5b36..825988994e 100644 --- a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloaderTest.java +++ b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloaderTest.java @@ -183,7 +183,7 @@ public class HlsDownloaderTest { } private HlsDownloader getHlsDownloader(String mediaPlaylistUri, List keys) { - Factory factory = new Factory(null).setFakeDataSet(fakeDataSet); + Factory factory = new Factory().setFakeDataSet(fakeDataSet); return new HlsDownloader( Uri.parse(mediaPlaylistUri), keys, new DownloaderConstructorHelper(cache, factory)); } diff --git a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java index 0da9430b12..2caf1d2231 100644 --- a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java +++ b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java @@ -25,6 +25,7 @@ import android.net.Uri; import android.util.Log; import android.view.Surface; import com.google.android.exoplayer2.C; +import com.google.android.exoplayer2.DefaultLoadControl; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlayerFactory; import com.google.android.exoplayer2.Format; @@ -42,7 +43,6 @@ import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.TrackGroup; import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.source.dash.DashMediaSource; -import com.google.android.exoplayer2.source.dash.DefaultDashChunkSource; import com.google.android.exoplayer2.testutil.ActionSchedule; import com.google.android.exoplayer2.testutil.DebugRenderersFactory; import com.google.android.exoplayer2.testutil.DecoderCountersUtil; @@ -55,11 +55,10 @@ import com.google.android.exoplayer2.trackselection.FixedTrackSelection; import com.google.android.exoplayer2.trackselection.MappingTrackSelector; import com.google.android.exoplayer2.trackselection.RandomTrackSelection; import com.google.android.exoplayer2.trackselection.TrackSelection; -import com.google.android.exoplayer2.upstream.BandwidthMeter; import com.google.android.exoplayer2.upstream.DataSource; import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory; import com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory; -import com.google.android.exoplayer2.upstream.TransferListener; +import com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy; import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.Util; import java.util.ArrayList; @@ -265,8 +264,7 @@ public final class DashTestRunner { } @Override - protected DefaultTrackSelector buildTrackSelector( - HostActivity host, BandwidthMeter bandwidthMeter) { + protected DefaultTrackSelector buildTrackSelector(HostActivity host) { return trackSelector; } @@ -296,30 +294,31 @@ public final class DashTestRunner { } @Override - protected SimpleExoPlayer buildExoPlayer(HostActivity host, Surface surface, + protected SimpleExoPlayer buildExoPlayer( + HostActivity host, + Surface surface, MappingTrackSelector trackSelector, DrmSessionManager drmSessionManager) { SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance( - host, new DebugRenderersFactory(host), trackSelector, drmSessionManager); + host, + new DebugRenderersFactory(host), + trackSelector, + new DefaultLoadControl(), + drmSessionManager); player.setVideoSurface(surface); return player; } @Override - protected MediaSource buildSource( - HostActivity host, String userAgent, TransferListener mediaTransferListener) { - DataSource.Factory manifestDataSourceFactory = dataSourceFactory != null - ? dataSourceFactory : new DefaultDataSourceFactory(host, userAgent); - DataSource.Factory mediaDataSourceFactory = dataSourceFactory != null - ? dataSourceFactory - : new DefaultDataSourceFactory(host, userAgent, mediaTransferListener); + protected MediaSource buildSource(HostActivity host, String userAgent) { + DataSource.Factory dataSourceFactory = + this.dataSourceFactory != null + ? this.dataSourceFactory + : new DefaultDataSourceFactory(host, userAgent); Uri manifestUri = Uri.parse(manifestUrl); - DefaultDashChunkSource.Factory chunkSourceFactory = new DefaultDashChunkSource.Factory( - mediaDataSourceFactory); - return new DashMediaSource.Factory(chunkSourceFactory, manifestDataSourceFactory) - .setMinLoadableRetryCount(MIN_LOADABLE_RETRY_COUNT) - .setLivePresentationDelayMs(0) + return new DashMediaSource.Factory(dataSourceFactory) + .setLoadErrorHandlingPolicy(new DefaultLoadErrorHandlingPolicy(MIN_LOADABLE_RETRY_COUNT)) .createMediaSource(manifestUri); } diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoHostedTest.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoHostedTest.java index cf8d694286..3c6478c10a 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoHostedTest.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoHostedTest.java @@ -22,6 +22,7 @@ import android.os.Looper; import android.os.SystemClock; import android.util.Log; import android.view.Surface; +import com.google.android.exoplayer2.DefaultLoadControl; import com.google.android.exoplayer2.DefaultRenderersFactory; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlayer; @@ -30,6 +31,7 @@ import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.RenderersFactory; import com.google.android.exoplayer2.SimpleExoPlayer; +import com.google.android.exoplayer2.analytics.AnalyticsListener; import com.google.android.exoplayer2.audio.AudioRendererEventListener; import com.google.android.exoplayer2.audio.DefaultAudioSink; import com.google.android.exoplayer2.decoder.DecoderCounters; @@ -40,9 +42,6 @@ import com.google.android.exoplayer2.testutil.HostActivity.HostedTest; import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; import com.google.android.exoplayer2.trackselection.MappingTrackSelector; -import com.google.android.exoplayer2.upstream.BandwidthMeter; -import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; -import com.google.android.exoplayer2.upstream.TransferListener; import com.google.android.exoplayer2.util.Clock; import com.google.android.exoplayer2.util.HandlerWrapper; import com.google.android.exoplayer2.util.Util; @@ -80,9 +79,7 @@ public abstract class ExoHostedTest private SimpleExoPlayer player; private Surface surface; private ExoPlaybackException playerError; - private Player.EventListener playerEventListener; - private VideoRendererEventListener videoDebugListener; - private AudioRendererEventListener audioDebugListener; + private AnalyticsListener analyticsListener; private boolean playerWasPrepared; private boolean playing; @@ -135,33 +132,11 @@ public abstract class ExoHostedTest } } - /** - * Sets an {@link Player.EventListener} to listen for ExoPlayer events during the test. - */ - public final void setEventListener(Player.EventListener eventListener) { - this.playerEventListener = eventListener; + /** Sets an {@link AnalyticsListener} to listen for events during the test. */ + public final void setAnalyticsListener(AnalyticsListener analyticsListener) { + this.analyticsListener = analyticsListener; if (player != null) { - player.addListener(eventListener); - } - } - - /** - * Sets an {@link VideoRendererEventListener} to listen for video debug events during the test. - */ - public final void setVideoDebugListener(VideoRendererEventListener videoDebugListener) { - this.videoDebugListener = videoDebugListener; - if (player != null) { - player.addVideoDebugListener(videoDebugListener); - } - } - - /** - * Sets an {@link AudioRendererEventListener} to listen for audio debug events during the test. - */ - public final void setAudioDebugListener(AudioRendererEventListener audioDebugListener) { - this.audioDebugListener = audioDebugListener; - if (player != null) { - player.addAudioDebugListener(audioDebugListener); + player.addAnalyticsListener(analyticsListener); } } @@ -171,20 +146,13 @@ public abstract class ExoHostedTest public final void onStart(HostActivity host, Surface surface) { this.surface = surface; // Build the player. - DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(); - trackSelector = buildTrackSelector(host, bandwidthMeter); + trackSelector = buildTrackSelector(host); String userAgent = "ExoPlayerPlaybackTests"; DrmSessionManager drmSessionManager = buildDrmSessionManager(userAgent); player = buildExoPlayer(host, surface, trackSelector, drmSessionManager); - player.prepare(buildSource(host, Util.getUserAgent(host, userAgent), bandwidthMeter)); - if (playerEventListener != null) { - player.addListener(playerEventListener); - } - if (videoDebugListener != null) { - player.addVideoDebugListener(videoDebugListener); - } - if (audioDebugListener != null) { - player.addAudioDebugListener(audioDebugListener); + player.prepare(buildSource(host, Util.getUserAgent(host, userAgent))); + if (analyticsListener != null) { + player.addAnalyticsListener(analyticsListener); } player.addListener(this); player.addAudioDebugListener(this); @@ -354,26 +322,30 @@ public abstract class ExoHostedTest } @SuppressWarnings("unused") - protected DefaultTrackSelector buildTrackSelector( - HostActivity host, BandwidthMeter bandwidthMeter) { - return new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter)); + protected DefaultTrackSelector buildTrackSelector(HostActivity host) { + return new DefaultTrackSelector(new AdaptiveTrackSelection.Factory()); } @SuppressWarnings("unused") - protected SimpleExoPlayer buildExoPlayer(HostActivity host, Surface surface, + protected SimpleExoPlayer buildExoPlayer( + HostActivity host, + Surface surface, MappingTrackSelector trackSelector, DrmSessionManager drmSessionManager) { - RenderersFactory renderersFactory = new DefaultRenderersFactory(host, drmSessionManager, - DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF, 0); + RenderersFactory renderersFactory = + new DefaultRenderersFactory( + host, + DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF, + /* allowedVideoJoiningTimeMs= */ 0); SimpleExoPlayer player = - ExoPlayerFactory.newSimpleInstance(host, renderersFactory, trackSelector); + ExoPlayerFactory.newSimpleInstance( + host, renderersFactory, trackSelector, new DefaultLoadControl(), drmSessionManager); player.setVideoSurface(surface); return player; } @SuppressWarnings("unused") - protected abstract MediaSource buildSource( - HostActivity host, String userAgent, TransferListener mediaTransferListener); + protected abstract MediaSource buildSource(HostActivity host, String userAgent); @SuppressWarnings("unused") protected void onPlayerErrorInternal(ExoPlaybackException error) { 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 2a50b2a240..b613f7f364 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 @@ -32,17 +32,16 @@ import com.google.android.exoplayer2.SimpleExoPlayer; import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.analytics.AnalyticsCollector; import com.google.android.exoplayer2.analytics.AnalyticsListener; -import com.google.android.exoplayer2.audio.AudioRendererEventListener; import com.google.android.exoplayer2.source.MediaSource; import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; import com.google.android.exoplayer2.trackselection.TrackSelectionArray; import com.google.android.exoplayer2.trackselection.TrackSelector; +import com.google.android.exoplayer2.upstream.BandwidthMeter; import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter; import com.google.android.exoplayer2.util.Clock; import com.google.android.exoplayer2.util.HandlerWrapper; import com.google.android.exoplayer2.util.MimeTypes; -import com.google.android.exoplayer2.video.VideoRendererEventListener; import java.util.ArrayList; import java.util.Arrays; import java.util.concurrent.CountDownLatch; @@ -77,13 +76,12 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc private MediaSource mediaSource; private DefaultTrackSelector trackSelector; private LoadControl loadControl; + private BandwidthMeter bandwidthMeter; private Format[] supportedFormats; private Renderer[] renderers; private RenderersFactory renderersFactory; private ActionSchedule actionSchedule; private Player.EventListener eventListener; - private VideoRendererEventListener videoRendererEventListener; - private AudioRendererEventListener audioRendererEventListener; private AnalyticsListener analyticsListener; private Integer expectedPlayerEndedCount; @@ -158,6 +156,18 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc return this; } + /** + * Sets the {@link BandwidthMeter} to be used by the test runner. The default value is a {@link + * DefaultBandwidthMeter} in its default configuration. + * + * @param bandwidthMeter The {@link BandwidthMeter} to be used by the test runner. + * @return This builder. + */ + public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { + this.bandwidthMeter = bandwidthMeter; + return this; + } + /** * Sets a list of {@link Format}s to be used by a {@link FakeMediaSource} to create media * periods and for setting up a {@link FakeRenderer}. The default value is a single @@ -238,28 +248,6 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc return this; } - /** - * Sets a {@link VideoRendererEventListener} to be registered. - * - * @param eventListener A {@link VideoRendererEventListener} to be registered. - * @return This builder. - */ - public Builder setVideoRendererEventListener(VideoRendererEventListener eventListener) { - this.videoRendererEventListener = eventListener; - return this; - } - - /** - * Sets an {@link AudioRendererEventListener} to be registered. - * - * @param eventListener An {@link AudioRendererEventListener} to be registered. - * @return This builder. - */ - public Builder setAudioRendererEventListener(AudioRendererEventListener eventListener) { - this.audioRendererEventListener = eventListener; - return this; - } - /** * Sets an {@link AnalyticsListener} to be registered. * @@ -298,6 +286,9 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc if (trackSelector == null) { trackSelector = new DefaultTrackSelector(); } + if (bandwidthMeter == null) { + bandwidthMeter = new DefaultBandwidthMeter.Builder().build(); + } if (renderersFactory == null) { if (renderers == null) { renderers = new Renderer[] {new FakeRenderer(supportedFormats)}; @@ -332,10 +323,9 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc renderersFactory, trackSelector, loadControl, + bandwidthMeter, actionSchedule, eventListener, - videoRendererEventListener, - audioRendererEventListener, analyticsListener, expectedPlayerEndedCount); } @@ -347,10 +337,9 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc private final RenderersFactory renderersFactory; private final DefaultTrackSelector trackSelector; private final LoadControl loadControl; + private final BandwidthMeter bandwidthMeter; private final @Nullable ActionSchedule actionSchedule; private final @Nullable Player.EventListener eventListener; - private final @Nullable VideoRendererEventListener videoRendererEventListener; - private final @Nullable AudioRendererEventListener audioRendererEventListener; private final @Nullable AnalyticsListener analyticsListener; private final HandlerThread playerThread; @@ -375,10 +364,9 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc RenderersFactory renderersFactory, DefaultTrackSelector trackSelector, LoadControl loadControl, + BandwidthMeter bandwidthMeter, @Nullable ActionSchedule actionSchedule, @Nullable Player.EventListener eventListener, - @Nullable VideoRendererEventListener videoRendererEventListener, - @Nullable AudioRendererEventListener audioRendererEventListener, @Nullable AnalyticsListener analyticsListener, int expectedPlayerEndedCount) { this.context = context; @@ -387,10 +375,9 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc this.renderersFactory = renderersFactory; this.trackSelector = trackSelector; this.loadControl = loadControl; + this.bandwidthMeter = bandwidthMeter; this.actionSchedule = actionSchedule; this.eventListener = eventListener; - this.videoRendererEventListener = videoRendererEventListener; - this.audioRendererEventListener = audioRendererEventListener; this.analyticsListener = analyticsListener; this.timelines = new ArrayList<>(); this.manifests = new ArrayList<>(); @@ -419,17 +406,11 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc try { player = new TestSimpleExoPlayer( - context, renderersFactory, trackSelector, loadControl, clock); + context, renderersFactory, trackSelector, loadControl, bandwidthMeter, clock); player.addListener(ExoPlayerTestRunner.this); if (eventListener != null) { player.addListener(eventListener); } - if (videoRendererEventListener != null) { - player.addVideoDebugListener(videoRendererEventListener); - } - if (audioRendererEventListener != null) { - player.addAudioDebugListener(audioRendererEventListener); - } if (analyticsListener != null) { player.addAnalyticsListener(analyticsListener); } @@ -648,6 +629,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc RenderersFactory renderersFactory, TrackSelector trackSelector, LoadControl loadControl, + BandwidthMeter bandwidthMeter, Clock clock) { super( context, @@ -655,7 +637,7 @@ public final class ExoPlayerTestRunner implements Player.EventListener, ActionSc trackSelector, loadControl, /* drmSessionManager= */ null, - new DefaultBandwidthMeter.Builder().build(), + bandwidthMeter, new AnalyticsCollector.Factory(), clock, Looper.myLooper()); diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.java index e6e4ea53cc..089528bfde 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeAdaptiveMediaSource.java @@ -15,12 +15,10 @@ */ package com.google.android.exoplayer2.testutil; -import android.os.Handler; import android.support.annotation.Nullable; import com.google.android.exoplayer2.Timeline; import com.google.android.exoplayer2.Timeline.Period; import com.google.android.exoplayer2.source.MediaSource; -import com.google.android.exoplayer2.source.MediaSourceEventListener; import com.google.android.exoplayer2.source.MediaSourceEventListener.EventDispatcher; import com.google.android.exoplayer2.source.TrackGroupArray; import com.google.android.exoplayer2.upstream.Allocator; @@ -38,12 +36,9 @@ public class FakeAdaptiveMediaSource extends FakeMediaSource { Timeline timeline, Object manifest, TrackGroupArray trackGroupArray, - Handler eventHandler, - MediaSourceEventListener eventListener, FakeChunkSource.Factory chunkSourceFactory) { super(timeline, manifest, trackGroupArray); this.chunkSourceFactory = chunkSourceFactory; - addEventListener(eventHandler, eventListener); } @Override diff --git a/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeDataSource.java b/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeDataSource.java index d222b4f22f..9f6fdc9d49 100644 --- a/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeDataSource.java +++ b/testutils/src/main/java/com/google/android/exoplayer2/testutil/FakeDataSource.java @@ -16,7 +16,6 @@ package com.google.android.exoplayer2.testutil; import android.net.Uri; -import android.support.annotation.Nullable; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.testutil.FakeDataSet.FakeData; import com.google.android.exoplayer2.testutil.FakeDataSet.FakeData.Segment; @@ -24,7 +23,6 @@ import com.google.android.exoplayer2.upstream.BaseDataSource; import com.google.android.exoplayer2.upstream.DataSource; import com.google.android.exoplayer2.upstream.DataSourceException; import com.google.android.exoplayer2.upstream.DataSpec; -import com.google.android.exoplayer2.upstream.TransferListener; import com.google.android.exoplayer2.util.Assertions; import java.io.IOException; import java.util.ArrayList; @@ -40,14 +38,9 @@ public class FakeDataSource extends BaseDataSource { */ public static class Factory implements DataSource.Factory { - protected final TransferListener transferListener; protected FakeDataSet fakeDataSet; protected boolean isNetwork; - public Factory(@Nullable TransferListener transferListener) { - this.transferListener = transferListener; - } - public final Factory setFakeDataSet(FakeDataSet fakeDataSet) { this.fakeDataSet = fakeDataSet; return this; @@ -60,11 +53,7 @@ public class FakeDataSource extends BaseDataSource { @Override public DataSource createDataSource() { - FakeDataSource dataSource = new FakeDataSource(fakeDataSet, isNetwork); - if (transferListener != null) { - dataSource.addTransferListener(transferListener); - } - return dataSource; + return new FakeDataSource(fakeDataSet, isNetwork); } }