Proactively check listener arguments are non-null
PiperOrigin-RevId: 322143359
This commit is contained in:
parent
953db7898e
commit
0cd15d9158
@ -76,6 +76,7 @@ public class DownloadTracker {
|
||||
}
|
||||
|
||||
public void addListener(Listener listener) {
|
||||
checkNotNull(listener);
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
|
@ -291,6 +291,7 @@ public final class CastPlayer extends BasePlayer {
|
||||
|
||||
@Override
|
||||
public void addListener(EventListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
listeners.addIfAbsent(new ListenerHolder(listener));
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,8 @@ import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
@Override
|
||||
public void addListener(Runnable listener, Executor executor) {
|
||||
Assertions.checkNotNull(listener);
|
||||
Assertions.checkNotNull(executor);
|
||||
future.addListener(listener, executor);
|
||||
}
|
||||
|
||||
|
@ -254,6 +254,7 @@ import java.util.concurrent.TimeoutException;
|
||||
|
||||
@Override
|
||||
public void addListener(Player.EventListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
listeners.addIfAbsent(new ListenerHolder(listener));
|
||||
}
|
||||
|
||||
|
@ -820,6 +820,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
@Override
|
||||
public void addAudioListener(AudioListener listener) {
|
||||
// Don't verify application thread. We allow calls to this method from any thread.
|
||||
Assertions.checkNotNull(listener);
|
||||
audioListeners.add(listener);
|
||||
}
|
||||
|
||||
@ -970,6 +971,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
*/
|
||||
public void addAnalyticsListener(AnalyticsListener listener) {
|
||||
// Don't verify application thread. We allow calls to this method from any thread.
|
||||
Assertions.checkNotNull(listener);
|
||||
analyticsCollector.addListener(listener);
|
||||
}
|
||||
|
||||
@ -1068,6 +1070,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
@Override
|
||||
public void addVideoListener(com.google.android.exoplayer2.video.VideoListener listener) {
|
||||
// Don't verify application thread. We allow calls to this method from any thread.
|
||||
Assertions.checkNotNull(listener);
|
||||
videoListeners.add(listener);
|
||||
}
|
||||
|
||||
@ -1121,7 +1124,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
*/
|
||||
@Deprecated
|
||||
@SuppressWarnings("deprecation")
|
||||
public void setVideoListener(VideoListener listener) {
|
||||
public void setVideoListener(@Nullable VideoListener listener) {
|
||||
videoListeners.clear();
|
||||
if (listener != null) {
|
||||
addVideoListener(listener);
|
||||
@ -1144,6 +1147,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
@Override
|
||||
public void addTextOutput(TextOutput listener) {
|
||||
// Don't verify application thread. We allow calls to this method from any thread.
|
||||
Assertions.checkNotNull(listener);
|
||||
textOutputs.add(listener);
|
||||
}
|
||||
|
||||
@ -1187,6 +1191,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
@Override
|
||||
public void addMetadataOutput(MetadataOutput listener) {
|
||||
// Don't verify application thread. We allow calls to this method from any thread.
|
||||
Assertions.checkNotNull(listener);
|
||||
metadataOutputs.add(listener);
|
||||
}
|
||||
|
||||
@ -1227,7 +1232,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
*/
|
||||
@Deprecated
|
||||
@SuppressWarnings("deprecation")
|
||||
public void setVideoDebugListener(VideoRendererEventListener listener) {
|
||||
public void setVideoDebugListener(@Nullable VideoRendererEventListener listener) {
|
||||
videoDebugListeners.retainAll(Collections.singleton(analyticsCollector));
|
||||
if (listener != null) {
|
||||
addVideoDebugListener(listener);
|
||||
@ -1240,6 +1245,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
*/
|
||||
@Deprecated
|
||||
public void addVideoDebugListener(VideoRendererEventListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
videoDebugListeners.add(listener);
|
||||
}
|
||||
|
||||
@ -1258,7 +1264,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
*/
|
||||
@Deprecated
|
||||
@SuppressWarnings("deprecation")
|
||||
public void setAudioDebugListener(AudioRendererEventListener listener) {
|
||||
public void setAudioDebugListener(@Nullable AudioRendererEventListener listener) {
|
||||
audioDebugListeners.retainAll(Collections.singleton(analyticsCollector));
|
||||
if (listener != null) {
|
||||
addAudioDebugListener(listener);
|
||||
@ -1271,6 +1277,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
*/
|
||||
@Deprecated
|
||||
public void addAudioDebugListener(AudioRendererEventListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
audioDebugListeners.add(listener);
|
||||
}
|
||||
|
||||
@ -1298,6 +1305,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
@Override
|
||||
public void addListener(Player.EventListener listener) {
|
||||
// Don't verify application thread. We allow calls to this method from any thread.
|
||||
Assertions.checkNotNull(listener);
|
||||
player.addListener(listener);
|
||||
}
|
||||
|
||||
@ -1866,6 +1874,7 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
@Override
|
||||
public void addDeviceListener(DeviceListener listener) {
|
||||
// Don't verify application thread. We allow calls to this method from any thread.
|
||||
Assertions.checkNotNull(listener);
|
||||
deviceListeners.add(listener);
|
||||
}
|
||||
|
||||
|
@ -101,6 +101,7 @@ public class AnalyticsCollector
|
||||
* @param listener The listener to add.
|
||||
*/
|
||||
public void addListener(AnalyticsListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
|
@ -324,6 +324,7 @@ public final class DownloadManager {
|
||||
* @param listener The listener to be added.
|
||||
*/
|
||||
public void addListener(Listener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
|
@ -162,6 +162,8 @@ public abstract class BaseMediaSource implements MediaSource {
|
||||
|
||||
@Override
|
||||
public final void addEventListener(Handler handler, MediaSourceEventListener eventListener) {
|
||||
Assertions.checkNotNull(handler);
|
||||
Assertions.checkNotNull(eventListener);
|
||||
eventDispatcher.addEventListener(handler, eventListener);
|
||||
}
|
||||
|
||||
@ -172,6 +174,8 @@ public abstract class BaseMediaSource implements MediaSource {
|
||||
|
||||
@Override
|
||||
public final void addDrmEventListener(Handler handler, DrmSessionEventListener eventListener) {
|
||||
Assertions.checkNotNull(handler);
|
||||
Assertions.checkNotNull(eventListener);
|
||||
drmEventDispatcher.addEventListener(handler, eventListener);
|
||||
}
|
||||
|
||||
|
@ -67,6 +67,7 @@ import java.util.Map;
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
Assertions.checkNotNull(transferListener);
|
||||
upstream.addTransferListener(transferListener);
|
||||
}
|
||||
|
||||
|
@ -56,10 +56,11 @@ public interface BandwidthMeter {
|
||||
}
|
||||
|
||||
/** Adds a listener to the event dispatcher. */
|
||||
public void addListener(Handler handler, BandwidthMeter.EventListener eventListener) {
|
||||
Assertions.checkArgument(handler != null && eventListener != null);
|
||||
public void addListener(Handler eventHandler, BandwidthMeter.EventListener eventListener) {
|
||||
Assertions.checkNotNull(eventHandler);
|
||||
Assertions.checkNotNull(eventListener);
|
||||
removeListener(eventListener);
|
||||
listeners.add(new HandlerAndListener(handler, eventListener));
|
||||
listeners.add(new HandlerAndListener(eventHandler, eventListener));
|
||||
}
|
||||
|
||||
/** Removes a listener from the event dispatcher. */
|
||||
|
@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.google.android.exoplayer2.upstream;
|
||||
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
import static com.google.android.exoplayer2.util.Util.castNonNull;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@ -47,6 +48,7 @@ public abstract class BaseDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public final void addTransferListener(TransferListener transferListener) {
|
||||
checkNotNull(transferListener);
|
||||
if (!listeners.contains(transferListener)) {
|
||||
listeners.add(transferListener);
|
||||
listenerCount++;
|
||||
|
@ -332,6 +332,8 @@ public final class DefaultBandwidthMeter implements BandwidthMeter, TransferList
|
||||
|
||||
@Override
|
||||
public void addEventListener(Handler eventHandler, EventListener eventListener) {
|
||||
Assertions.checkNotNull(eventHandler);
|
||||
Assertions.checkNotNull(eventListener);
|
||||
eventDispatcher.addListener(eventHandler, eventListener);
|
||||
}
|
||||
|
||||
|
@ -135,6 +135,7 @@ public final class DefaultDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
Assertions.checkNotNull(transferListener);
|
||||
baseDataSource.addTransferListener(transferListener);
|
||||
transferListeners.add(transferListener);
|
||||
maybeAddListenerToDataSource(fileDataSource, transferListener);
|
||||
|
@ -55,6 +55,7 @@ public final class PriorityDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
Assertions.checkNotNull(transferListener);
|
||||
upstream.addTransferListener(transferListener);
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.google.android.exoplayer2.upstream;
|
||||
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
|
||||
import android.net.Uri;
|
||||
import androidx.annotation.Nullable;
|
||||
import java.io.IOException;
|
||||
@ -95,6 +97,7 @@ public final class ResolvingDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
checkNotNull(transferListener);
|
||||
upstreamDataSource.addTransferListener(transferListener);
|
||||
}
|
||||
|
||||
|
@ -72,6 +72,7 @@ public final class StatsDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
Assertions.checkNotNull(transferListener);
|
||||
dataSource.addTransferListener(transferListener);
|
||||
}
|
||||
|
||||
|
@ -45,6 +45,7 @@ public final class TeeDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
Assertions.checkNotNull(transferListener);
|
||||
upstream.addTransferListener(transferListener);
|
||||
}
|
||||
|
||||
|
@ -541,6 +541,7 @@ public final class CacheDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
Assertions.checkNotNull(transferListener);
|
||||
cacheReadDataSource.addTransferListener(transferListener);
|
||||
upstreamDataSource.addTransferListener(transferListener);
|
||||
}
|
||||
|
@ -309,6 +309,8 @@ public final class SimpleCache implements Cache {
|
||||
@Override
|
||||
public synchronized NavigableSet<CacheSpan> addListener(String key, Listener listener) {
|
||||
Assertions.checkState(!released);
|
||||
Assertions.checkNotNull(key);
|
||||
Assertions.checkNotNull(listener);
|
||||
ArrayList<Listener> listenersForKey = listeners.get(key);
|
||||
if (listenersForKey == null) {
|
||||
listenersForKey = new ArrayList<>();
|
||||
|
@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.google.android.exoplayer2.upstream.crypto;
|
||||
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
import static com.google.android.exoplayer2.util.Util.castNonNull;
|
||||
|
||||
import android.net.Uri;
|
||||
@ -45,6 +46,7 @@ public final class AesCipherDataSource implements DataSource {
|
||||
|
||||
@Override
|
||||
public void addTransferListener(TransferListener transferListener) {
|
||||
checkNotNull(transferListener);
|
||||
upstream.addTransferListener(transferListener);
|
||||
}
|
||||
|
||||
|
@ -66,6 +66,7 @@ import javax.crypto.spec.SecretKeySpec;
|
||||
|
||||
@Override
|
||||
public final void addTransferListener(TransferListener transferListener) {
|
||||
Assertions.checkNotNull(transferListener);
|
||||
upstream.addTransferListener(transferListener);
|
||||
}
|
||||
|
||||
|
@ -161,6 +161,7 @@ public final class DefaultHlsPlaylistTracker
|
||||
|
||||
@Override
|
||||
public void addListener(PlaylistEventListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
|
@ -450,6 +450,7 @@ public class DefaultTimeBar extends View implements TimeBar {
|
||||
|
||||
@Override
|
||||
public void addListener(OnScrubListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
|
@ -586,6 +586,7 @@ public class PlayerControlView extends FrameLayout {
|
||||
* @param listener The listener to be notified about visibility changes.
|
||||
*/
|
||||
public void addVisibilityListener(VisibilityListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
visibilityListeners.add(listener);
|
||||
}
|
||||
|
||||
|
@ -790,6 +790,7 @@ public class StyledPlayerControlView extends FrameLayout {
|
||||
* @param listener The listener to be notified about visibility changes.
|
||||
*/
|
||||
public void addVisibilityListener(VisibilityListener listener) {
|
||||
Assertions.checkNotNull(listener);
|
||||
visibilityListeners.add(listener);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user