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