diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSource.java index b3bb34e34f..c759499577 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSource.java @@ -44,9 +44,7 @@ public interface DataSource { * * @param transferListener A {@link TransferListener}. */ - default void addTransferListener(TransferListener transferListener) { - // TODO: Make non-default once all DataSources implement this method. - } + void addTransferListener(TransferListener transferListener); /** * Opens the source to read the specified data. diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java index fa3e14f1c9..06dc79e345 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DummyDataSource.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.upstream; import android.net.Uri; +import android.support.annotation.Nullable; import java.io.IOException; /** @@ -35,6 +36,11 @@ public final class DummyDataSource implements DataSource { private DummyDataSource() {} + @Override + public void addTransferListener(TransferListener transferListener) { + // Do nothing. + } + @Override public long open(DataSpec dataSpec) throws IOException { throw new IOException("Dummy source"); @@ -46,7 +52,7 @@ public final class DummyDataSource implements DataSource { } @Override - public Uri getUri() { + public @Nullable Uri getUri() { return null; } @@ -54,5 +60,4 @@ public final class DummyDataSource implements DataSource { public void close() throws IOException { // do nothing. } - } diff --git a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/Aes128DataSourceTest.java b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/Aes128DataSourceTest.java index 86bffc7762..93f724e630 100644 --- a/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/Aes128DataSourceTest.java +++ b/library/hls/src/test/java/com/google/android/exoplayer2/source/hls/Aes128DataSourceTest.java @@ -21,6 +21,7 @@ import android.net.Uri; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.upstream.DataSource; import com.google.android.exoplayer2.upstream.DataSpec; +import com.google.android.exoplayer2.upstream.TransferListener; import java.io.IOException; import org.junit.Test; import org.junit.runner.RunWith; @@ -76,6 +77,9 @@ public class Aes128DataSourceTest { public boolean opened; public boolean closedCalled; + @Override + public void addTransferListener(TransferListener transferListener) {} + @Override public long open(DataSpec dataSpec) throws IOException { opened = true;