Commit c650ab64 by olly Committed by Oliver Woodman

Less silly generics for Loader.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=123310694
parent 1ea149a4
...@@ -65,7 +65,7 @@ public final class SingleSampleSource implements SampleSource, TrackStream, ...@@ -65,7 +65,7 @@ public final class SingleSampleSource implements SampleSource, TrackStream,
private final Uri uri; private final Uri uri;
private final DataSource dataSource; private final DataSource dataSource;
private final Loader<SingleSampleSource> loader; private final Loader loader;
private final Format format; private final Format format;
private final long durationUs; private final long durationUs;
private final TrackGroupArray tracks; private final TrackGroupArray tracks;
...@@ -99,7 +99,7 @@ public final class SingleSampleSource implements SampleSource, TrackStream, ...@@ -99,7 +99,7 @@ public final class SingleSampleSource implements SampleSource, TrackStream,
this.eventHandler = eventHandler; this.eventHandler = eventHandler;
this.eventListener = eventListener; this.eventListener = eventListener;
this.eventSourceId = eventSourceId; this.eventSourceId = eventSourceId;
loader = new Loader<>("Loader:SingleSampleSource", minLoadableRetryCount); loader = new Loader("Loader:SingleSampleSource", minLoadableRetryCount);
tracks = new TrackGroupArray(new TrackGroup(format)); tracks = new TrackGroupArray(new TrackGroup(format));
sampleData = new byte[INITIAL_SAMPLE_SIZE]; sampleData = new byte[INITIAL_SAMPLE_SIZE];
} }
......
...@@ -39,7 +39,7 @@ import java.util.List; ...@@ -39,7 +39,7 @@ import java.util.List;
*/ */
public class ChunkTrackStream implements TrackStream, Loader.Callback<Chunk> { public class ChunkTrackStream implements TrackStream, Loader.Callback<Chunk> {
private final Loader<Chunk> loader; private final Loader loader;
private final ChunkSource chunkSource; private final ChunkSource chunkSource;
private final LinkedList<BaseMediaChunk> mediaChunks; private final LinkedList<BaseMediaChunk> mediaChunks;
private final List<BaseMediaChunk> readOnlyMediaChunks; private final List<BaseMediaChunk> readOnlyMediaChunks;
...@@ -76,7 +76,7 @@ public class ChunkTrackStream implements TrackStream, Loader.Callback<Chunk> { ...@@ -76,7 +76,7 @@ public class ChunkTrackStream implements TrackStream, Loader.Callback<Chunk> {
ChunkTrackStreamEventListener eventListener, int eventSourceId, int minLoadableRetryCount) { ChunkTrackStreamEventListener eventListener, int eventSourceId, int minLoadableRetryCount) {
this.chunkSource = chunkSource; this.chunkSource = chunkSource;
this.loadControl = loadControl; this.loadControl = loadControl;
loader = new Loader<>("Loader:ChunkTrackStream", minLoadableRetryCount); loader = new Loader("Loader:ChunkTrackStream", minLoadableRetryCount);
eventDispatcher = new EventDispatcher(eventHandler, eventListener, eventSourceId); eventDispatcher = new EventDispatcher(eventHandler, eventListener, eventSourceId);
nextChunkHolder = new ChunkHolder(); nextChunkHolder = new ChunkHolder();
mediaChunks = new LinkedList<>(); mediaChunks = new LinkedList<>();
......
...@@ -69,7 +69,7 @@ public final class UtcTimingElementResolver implements Loader.Callback<UriLoadab ...@@ -69,7 +69,7 @@ public final class UtcTimingElementResolver implements Loader.Callback<UriLoadab
private final long timingElementElapsedRealtime; private final long timingElementElapsedRealtime;
private final UtcTimingCallback callback; private final UtcTimingCallback callback;
private Loader<UriLoadable<Long>> singleUseLoader; private Loader singleUseLoader;
/** /**
* Resolves a {@link UtcTimingElement}. * Resolves a {@link UtcTimingElement}.
...@@ -121,7 +121,7 @@ public final class UtcTimingElementResolver implements Loader.Callback<UriLoadab ...@@ -121,7 +121,7 @@ public final class UtcTimingElementResolver implements Loader.Callback<UriLoadab
} }
private void resolveHttp(UriLoadable.Parser<Long> parser) { private void resolveHttp(UriLoadable.Parser<Long> parser) {
singleUseLoader = new Loader<>("Loader:UtcTiming", 0); singleUseLoader = new Loader("Loader:UtcTiming", 0);
singleUseLoader.startLoading( singleUseLoader.startLoading(
new UriLoadable<>(Uri.parse(timingElement.value), dataSource, parser), this); new UriLoadable<>(Uri.parse(timingElement.value), dataSource, parser), this);
} }
......
...@@ -112,7 +112,7 @@ public final class ExtractorSampleSource implements SampleSource, ExtractorOutpu ...@@ -112,7 +112,7 @@ public final class ExtractorSampleSource implements SampleSource, ExtractorOutpu
// Lazily initialized default extractor classes in priority order. // Lazily initialized default extractor classes in priority order.
private static List<Class<? extends Extractor>> defaultExtractorClasses; private static List<Class<? extends Extractor>> defaultExtractorClasses;
private final Loader<Loadable> loader; private final Loader loader;
private final ExtractorHolder extractorHolder; private final ExtractorHolder extractorHolder;
private final Allocator allocator; private final Allocator allocator;
private final int requestedBufferSize; private final int requestedBufferSize;
...@@ -233,7 +233,7 @@ public final class ExtractorSampleSource implements SampleSource, ExtractorOutpu ...@@ -233,7 +233,7 @@ public final class ExtractorSampleSource implements SampleSource, ExtractorOutpu
// Assume on-demand until we know otherwise. // Assume on-demand until we know otherwise.
int initialMinRetryCount = minLoadableRetryCount == MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA int initialMinRetryCount = minLoadableRetryCount == MIN_RETRY_COUNT_DEFAULT_FOR_MEDIA
? DEFAULT_MIN_LOADABLE_RETRY_COUNT_ON_DEMAND : minLoadableRetryCount; ? DEFAULT_MIN_LOADABLE_RETRY_COUNT_ON_DEMAND : minLoadableRetryCount;
loader = new Loader<>("Loader:ExtractorSampleSource", initialMinRetryCount); loader = new Loader("Loader:ExtractorSampleSource", initialMinRetryCount);
extractorHolder = new ExtractorHolder(extractors, this); extractorHolder = new ExtractorHolder(extractors, this);
pendingResetPositionUs = C.UNSET_TIME_US; pendingResetPositionUs = C.UNSET_TIME_US;
sampleQueues = new DefaultTrackOutput[0]; sampleQueues = new DefaultTrackOutput[0];
......
...@@ -54,7 +54,7 @@ import java.util.List; ...@@ -54,7 +54,7 @@ import java.util.List;
private static final int PRIMARY_TYPE_AUDIO = 2; private static final int PRIMARY_TYPE_AUDIO = 2;
private static final int PRIMARY_TYPE_VIDEO = 3; private static final int PRIMARY_TYPE_VIDEO = 3;
private final Loader<Chunk> loader; private final Loader loader;
private final HlsChunkSource chunkSource; private final HlsChunkSource chunkSource;
private final SparseArray<DefaultTrackOutput> sampleQueues; private final SparseArray<DefaultTrackOutput> sampleQueues;
private final LinkedList<HlsMediaChunk> mediaChunks; private final LinkedList<HlsMediaChunk> mediaChunks;
...@@ -101,7 +101,7 @@ import java.util.List; ...@@ -101,7 +101,7 @@ import java.util.List;
this.chunkSource = chunkSource; this.chunkSource = chunkSource;
this.loadControl = loadControl; this.loadControl = loadControl;
this.bufferSizeContribution = bufferSizeContribution; this.bufferSizeContribution = bufferSizeContribution;
loader = new Loader<>("Loader:HLS", minLoadableRetryCount); loader = new Loader("Loader:HlsTrackStreamWrapper", minLoadableRetryCount);
eventDispatcher = new EventDispatcher(eventHandler, eventListener, eventSourceId); eventDispatcher = new EventDispatcher(eventHandler, eventListener, eventSourceId);
nextChunkHolder = new ChunkHolder(); nextChunkHolder = new ChunkHolder();
sampleQueues = new SparseArray<>(); sampleQueues = new SparseArray<>();
......
...@@ -32,7 +32,7 @@ import java.util.concurrent.ExecutorService; ...@@ -32,7 +32,7 @@ import java.util.concurrent.ExecutorService;
/** /**
* Manages the background loading of {@link Loadable}s. * Manages the background loading of {@link Loadable}s.
*/ */
public final class Loader<T extends Loader.Loadable> { public final class Loader {
/** /**
* Thrown when an unexpected exception is encountered during loading. * Thrown when an unexpected exception is encountered during loading.
...@@ -121,7 +121,7 @@ public final class Loader<T extends Loader.Loadable> { ...@@ -121,7 +121,7 @@ public final class Loader<T extends Loader.Loadable> {
private final ExecutorService downloadExecutorService; private final ExecutorService downloadExecutorService;
private int minRetryCount; private int minRetryCount;
private LoadTask currentTask; private LoadTask<? extends Loadable> currentTask;
private IOException fatalError; private IOException fatalError;
/** /**
...@@ -143,10 +143,10 @@ public final class Loader<T extends Loader.Loadable> { ...@@ -143,10 +143,10 @@ public final class Loader<T extends Loader.Loadable> {
* @param callback A callback to invoke when the load ends. * @param callback A callback to invoke when the load ends.
* @throws IllegalStateException If the calling thread does not have an associated {@link Looper}. * @throws IllegalStateException If the calling thread does not have an associated {@link Looper}.
*/ */
public void startLoading(T loadable, Callback<T> callback) { public <T extends Loadable> void startLoading(T loadable, Callback<T> callback) {
Looper looper = Looper.myLooper(); Looper looper = Looper.myLooper();
Assertions.checkState(looper != null); Assertions.checkState(looper != null);
new LoadTask(looper, loadable, callback).start(0); new LoadTask<>(looper, loadable, callback).start(0);
} }
/** /**
...@@ -204,7 +204,7 @@ public final class Loader<T extends Loader.Loadable> { ...@@ -204,7 +204,7 @@ public final class Loader<T extends Loader.Loadable> {
} }
@SuppressLint("HandlerLeak") @SuppressLint("HandlerLeak")
private final class LoadTask extends Handler implements Runnable { private final class LoadTask<T extends Loadable> extends Handler implements Runnable {
private static final String TAG = "LoadTask"; private static final String TAG = "LoadTask";
......
...@@ -68,7 +68,7 @@ public class ManifestFetcher<T> implements Loader.Callback<UriLoadable<T>> { ...@@ -68,7 +68,7 @@ public class ManifestFetcher<T> implements Loader.Callback<UriLoadable<T>> {
} }
private final Loader<UriLoadable<T>> loader; private final Loader loader;
private final UriLoadable.Parser<T> parser; private final UriLoadable.Parser<T> parser;
private final DataSource dataSource; private final DataSource dataSource;
private final Handler eventHandler; private final Handler eventHandler;
...@@ -106,7 +106,7 @@ public class ManifestFetcher<T> implements Loader.Callback<UriLoadable<T>> { ...@@ -106,7 +106,7 @@ public class ManifestFetcher<T> implements Loader.Callback<UriLoadable<T>> {
this.dataSource = dataSource; this.dataSource = dataSource;
this.eventHandler = eventHandler; this.eventHandler = eventHandler;
this.eventListener = eventListener; this.eventListener = eventListener;
loader = new Loader<>("Loader:ManifestFetcher", 1); loader = new Loader("Loader:ManifestFetcher", 1);
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment