From 2b1434dfcbc0b1f22c3451c6d8c07205129d9950 Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 10 Jul 2018 06:37:49 -0700 Subject: [PATCH] Change DataSource.Type to a boolean. There are only two types at the moment and we can therefore use a boolean. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=203937357 --- .../exoplayer2/ext/cronet/CronetDataSource.java | 2 +- .../exoplayer2/ext/okhttp/OkHttpDataSource.java | 2 +- .../exoplayer2/ext/rtmp/RtmpDataSource.java | 2 +- .../exoplayer2/upstream/AssetDataSource.java | 2 +- .../exoplayer2/upstream/BaseDataSource.java | 10 +++++----- .../exoplayer2/upstream/ByteArrayDataSource.java | 2 +- .../exoplayer2/upstream/ContentDataSource.java | 2 +- .../exoplayer2/upstream/DataSchemeDataSource.java | 2 +- .../android/exoplayer2/upstream/DataSource.java | 12 ------------ .../upstream/DefaultHttpDataSource.java | 2 +- .../exoplayer2/upstream/FileDataSource.java | 2 +- .../upstream/RawResourceDataSource.java | 2 +- .../exoplayer2/upstream/UdpDataSource.java | 2 +- .../exoplayer2/upstream/BaseDataSourceTest.java | 8 ++++---- .../exoplayer2/testutil/FakeDataSource.java | 15 +++++++-------- 15 files changed, 27 insertions(+), 40 deletions(-) diff --git a/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java b/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java index a0e1f28a0a..acf36c3cf9 100644 --- a/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java +++ b/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java @@ -241,7 +241,7 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource { Clock clock, RequestProperties defaultRequestProperties, boolean handleSetCookieRequests) { - super(DataSource.TYPE_REMOTE); + super(/* isNetwork= */ true); this.urlRequestCallback = new UrlRequestCallback(); this.cronetEngine = Assertions.checkNotNull(cronetEngine); this.executor = Assertions.checkNotNull(executor); diff --git a/extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.java b/extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.java index d38c06a63a..d4d9d6ecd7 100644 --- a/extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.java +++ b/extensions/okhttp/src/main/java/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.java @@ -120,7 +120,7 @@ public class OkHttpDataSource extends BaseDataSource implements HttpDataSource { @Nullable TransferListener listener, @Nullable CacheControl cacheControl, @Nullable RequestProperties defaultRequestProperties) { - super(DataSource.TYPE_REMOTE); + super(/* isNetwork= */ true); this.callFactory = Assertions.checkNotNull(callFactory); this.userAgent = userAgent; this.contentTypePredicate = contentTypePredicate; diff --git a/extensions/rtmp/src/main/java/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.java b/extensions/rtmp/src/main/java/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.java index e14bb94965..dfb4ab3466 100644 --- a/extensions/rtmp/src/main/java/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.java +++ b/extensions/rtmp/src/main/java/com/google/android/exoplayer2/ext/rtmp/RtmpDataSource.java @@ -43,7 +43,7 @@ public final class RtmpDataSource extends BaseDataSource { /** @param listener An optional listener. */ public RtmpDataSource(@Nullable TransferListener listener) { - super(DataSource.TYPE_REMOTE); + super(/* isNetwork= */ true); if (listener != null) { addTransferListener(listener); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java index f016a8ca01..c61578bf22 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/AssetDataSource.java @@ -57,7 +57,7 @@ public final class AssetDataSource extends BaseDataSource { * @param listener An optional listener. */ public AssetDataSource(Context context, @Nullable TransferListener listener) { - super(DataSource.TYPE_LOCAL); + super(/* isNetwork= */ false); this.assetManager = context.getAssets(); if (listener != null) { addTransferListener(listener); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java index 637b011316..804f8c50ac 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java @@ -26,16 +26,16 @@ import java.util.ArrayList; */ public abstract class BaseDataSource implements DataSource { - private final @DataSource.Type int type; + private final boolean isNetwork; private final ArrayList> listeners; /** - * Creates base data source for a data source of the specified type. + * Creates base data source. * - * @param type The {@link DataSource.Type} of the data source. + * @param isNetwork Whether the data source loads data through a network. */ - protected BaseDataSource(@DataSource.Type int type) { - this.type = type; + protected BaseDataSource(boolean isNetwork) { + this.isNetwork = isNetwork; this.listeners = new ArrayList<>(/* initialCapacity= */ 1); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java index d49fc1a22a..16637b4052 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/ByteArrayDataSource.java @@ -35,7 +35,7 @@ public final class ByteArrayDataSource extends BaseDataSource { * @param data The data to be read. */ public ByteArrayDataSource(byte[] data) { - super(DataSource.TYPE_LOCAL); + super(/* isNetwork= */ false); Assertions.checkNotNull(data); Assertions.checkArgument(data.length > 0); this.data = data; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java index 00e489d751..5de3526a69 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/ContentDataSource.java @@ -62,7 +62,7 @@ public final class ContentDataSource extends BaseDataSource { */ public ContentDataSource( Context context, @Nullable TransferListener listener) { - super(DataSource.TYPE_LOCAL); + super(/* isNetwork= */ false); this.resolver = context.getContentResolver(); if (listener != null) { addTransferListener(listener); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java index 7706998f0a..5a2f5d153c 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DataSchemeDataSource.java @@ -34,7 +34,7 @@ public final class DataSchemeDataSource extends BaseDataSource { private @Nullable byte[] data; public DataSchemeDataSource() { - super(DataSource.TYPE_LOCAL); + super(/* isNetwork= */ false); } @Override 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 e9a73959a4..91e1ce9c1c 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 @@ -16,12 +16,9 @@ package com.google.android.exoplayer2.upstream; import android.net.Uri; -import android.support.annotation.IntDef; import android.support.annotation.Nullable; import com.google.android.exoplayer2.C; import java.io.IOException; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; import java.util.Collections; import java.util.List; import java.util.Map; @@ -31,15 +28,6 @@ import java.util.Map; */ public interface DataSource { - /** Type of a data source. */ - @Retention(RetentionPolicy.SOURCE) - @IntDef({TYPE_REMOTE, TYPE_LOCAL}) - public @interface Type {} - /** Data source which loads data from a remote (network) source. */ - int TYPE_REMOTE = 0; - /** Data source which loads data from a local (on-device) source. */ - int TYPE_LOCAL = 1; - /** * A factory for {@link DataSource} instances. */ diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java index 32f6da00b3..1c218d3f7b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java @@ -155,7 +155,7 @@ public class DefaultHttpDataSource extends BaseDataSource implements HttpDataSou int readTimeoutMillis, boolean allowCrossProtocolRedirects, @Nullable RequestProperties defaultRequestProperties) { - super(DataSource.TYPE_REMOTE); + super(/* isNetwork= */ true); this.userAgent = Assertions.checkNotEmpty(userAgent); this.contentTypePredicate = contentTypePredicate; this.requestProperties = new RequestProperties(); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java index fe23e64f9e..51f5164d81 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/FileDataSource.java @@ -47,7 +47,7 @@ public final class FileDataSource extends BaseDataSource { /** @param listener An optional listener. */ public FileDataSource(@Nullable TransferListener listener) { - super(DataSource.TYPE_LOCAL); + super(/* isNetwork= */ false); if (listener != null) { addTransferListener(listener); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java index 5991b2911f..19a8f7e9df 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/RawResourceDataSource.java @@ -83,7 +83,7 @@ public final class RawResourceDataSource extends BaseDataSource { */ public RawResourceDataSource( Context context, @Nullable TransferListener listener) { - super(DataSource.TYPE_LOCAL); + super(/* isNetwork= */ false); this.resources = context.getResources(); if (listener != null) { addTransferListener(listener); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java index 8b6b48cdcb..fb950addeb 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/UdpDataSource.java @@ -86,7 +86,7 @@ public final class UdpDataSource extends BaseDataSource { @Nullable TransferListener listener, int maxPacketSize, int socketTimeoutMillis) { - super(DataSource.TYPE_REMOTE); + super(/* isNetwork= */ true); this.socketTimeoutMillis = socketTimeoutMillis; packetBuffer = new byte[maxPacketSize]; packet = new DatagramPacket(packetBuffer, 0, maxPacketSize); diff --git a/library/core/src/test/java/com/google/android/exoplayer2/upstream/BaseDataSourceTest.java b/library/core/src/test/java/com/google/android/exoplayer2/upstream/BaseDataSourceTest.java index 2b1f6246d3..4d736d20e7 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/upstream/BaseDataSourceTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/upstream/BaseDataSourceTest.java @@ -31,7 +31,7 @@ public class BaseDataSourceTest { @Test public void dataTransfer_withLocalSource_isReported() throws IOException { - TestSource testSource = new TestSource(DataSource.TYPE_LOCAL); + TestSource testSource = new TestSource(/* isNetwork= */ false); TestTransferListener transferListener = new TestTransferListener(); testSource.addTransferListener(transferListener); @@ -49,7 +49,7 @@ public class BaseDataSourceTest { @Test public void dataTransfer_withRemoteSource_isReported() throws IOException { - TestSource testSource = new TestSource(DataSource.TYPE_REMOTE); + TestSource testSource = new TestSource(/* isNetwork= */ true); TestTransferListener transferListener = new TestTransferListener(); testSource.addTransferListener(transferListener); @@ -67,8 +67,8 @@ public class BaseDataSourceTest { private static final class TestSource extends BaseDataSource { - public TestSource(@DataSource.Type int type) { - super(type); + public TestSource(boolean isNetwork) { + super(isNetwork); } @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 c6cdda157b..f7695e4605 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 @@ -42,11 +42,10 @@ public class FakeDataSource extends BaseDataSource { protected final TransferListener transferListener; protected FakeDataSet fakeDataSet; - protected @DataSource.Type int dataSourceType; + protected boolean isNetwork; public Factory(@Nullable TransferListener transferListener) { this.transferListener = transferListener; - this.dataSourceType = DataSource.TYPE_LOCAL; } public final Factory setFakeDataSet(FakeDataSet fakeDataSet) { @@ -54,14 +53,14 @@ public class FakeDataSource extends BaseDataSource { return this; } - public final Factory setDataSourceType(@DataSource.Type int dataSourceType) { - this.dataSourceType = dataSourceType; + public final Factory setIsNetwork(boolean isNetwork) { + this.isNetwork = isNetwork; return this; } @Override public DataSource createDataSource() { - return new FakeDataSource(fakeDataSet, transferListener, dataSourceType); + return new FakeDataSource(fakeDataSet, transferListener, isNetwork); } } @@ -80,14 +79,14 @@ public class FakeDataSource extends BaseDataSource { } public FakeDataSource(FakeDataSet fakeDataSet) { - this(fakeDataSet, null, DataSource.TYPE_LOCAL); + this(fakeDataSet, null, /* isNetwork= */ false); } public FakeDataSource( FakeDataSet fakeDataSet, @Nullable TransferListener transferListener, - @DataSource.Type int dataSourceType) { - super(dataSourceType); + boolean isNetwork) { + super(isNetwork); Assertions.checkNotNull(fakeDataSet); this.fakeDataSet = fakeDataSet; this.openedDataSpecs = new ArrayList<>();