Remove unneccessary nullability.
AnalyticsCollector can't be null when passed into ExoPlayerImplInternal, so there is no need to pass it around as nullable. PiperOrigin-RevId: 424594031
This commit is contained in:
parent
145e923dce
commit
777246d9dc
@ -230,7 +230,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
BandwidthMeter bandwidthMeter,
|
||||
@Player.RepeatMode int repeatMode,
|
||||
boolean shuffleModeEnabled,
|
||||
@Nullable AnalyticsCollector analyticsCollector,
|
||||
AnalyticsCollector analyticsCollector,
|
||||
SeekParameters seekParameters,
|
||||
LivePlaybackSpeedControl livePlaybackSpeedControl,
|
||||
long releaseTimeoutMs,
|
||||
|
@ -66,7 +66,7 @@ import com.google.common.collect.ImmutableList;
|
||||
|
||||
private final Timeline.Period period;
|
||||
private final Timeline.Window window;
|
||||
@Nullable private final AnalyticsCollector analyticsCollector;
|
||||
private final AnalyticsCollector analyticsCollector;
|
||||
private final Handler analyticsCollectorHandler;
|
||||
|
||||
private long nextWindowSequenceNumber;
|
||||
@ -82,13 +82,12 @@ import com.google.common.collect.ImmutableList;
|
||||
/**
|
||||
* Creates a new media period queue.
|
||||
*
|
||||
* @param analyticsCollector An optional {@link AnalyticsCollector} to be informed of queue
|
||||
* changes.
|
||||
* @param analyticsCollector An {@link AnalyticsCollector} to be informed of queue changes.
|
||||
* @param analyticsCollectorHandler The {@link Handler} to call {@link AnalyticsCollector} methods
|
||||
* on.
|
||||
*/
|
||||
public MediaPeriodQueue(
|
||||
@Nullable AnalyticsCollector analyticsCollector, Handler analyticsCollectorHandler) {
|
||||
AnalyticsCollector analyticsCollector, Handler analyticsCollectorHandler) {
|
||||
this.analyticsCollector = analyticsCollector;
|
||||
this.analyticsCollectorHandler = analyticsCollectorHandler;
|
||||
period = new Timeline.Period();
|
||||
@ -451,7 +450,6 @@ import com.google.common.collect.ImmutableList;
|
||||
// Internal methods.
|
||||
|
||||
private void notifyQueueUpdate() {
|
||||
if (analyticsCollector != null) {
|
||||
ImmutableList.Builder<MediaPeriodId> builder = ImmutableList.builder();
|
||||
@Nullable MediaPeriodHolder period = playing;
|
||||
while (period != null) {
|
||||
@ -462,7 +460,6 @@ import com.google.common.collect.ImmutableList;
|
||||
analyticsCollectorHandler.post(
|
||||
() -> analyticsCollector.updateMediaPeriodQueueInfo(builder.build(), readingPeriodId));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves the specified timeline period and position to a {@link MediaPeriodId} that should be
|
||||
|
@ -91,15 +91,15 @@ import java.util.Set;
|
||||
*
|
||||
* @param listener The {@link MediaSourceListInfoRefreshListener} to be informed of timeline
|
||||
* changes.
|
||||
* @param analyticsCollector An optional {@link AnalyticsCollector} to be registered for media
|
||||
* source events.
|
||||
* @param analyticsCollector An {@link AnalyticsCollector} to be registered for media source
|
||||
* events.
|
||||
* @param analyticsCollectorHandler The {@link Handler} to call {@link AnalyticsCollector} methods
|
||||
* on.
|
||||
* @param playerId The {@link PlayerId} of the player using this list.
|
||||
*/
|
||||
public MediaSourceList(
|
||||
MediaSourceListInfoRefreshListener listener,
|
||||
@Nullable AnalyticsCollector analyticsCollector,
|
||||
AnalyticsCollector analyticsCollector,
|
||||
Handler analyticsCollectorHandler,
|
||||
PlayerId playerId) {
|
||||
this.playerId = playerId;
|
||||
@ -112,11 +112,9 @@ import java.util.Set;
|
||||
drmEventDispatcher = new DrmSessionEventListener.EventDispatcher();
|
||||
childSources = new HashMap<>();
|
||||
enabledMediaSourceHolders = new HashSet<>();
|
||||
if (analyticsCollector != null) {
|
||||
mediaSourceEventDispatcher.addEventListener(analyticsCollectorHandler, analyticsCollector);
|
||||
drmEventDispatcher.addEventListener(analyticsCollectorHandler, analyticsCollector);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the media sources replacing any sources previously contained in the playlist.
|
||||
|
@ -22,7 +22,9 @@ import static org.robolectric.Shadows.shadowOf;
|
||||
import android.net.Uri;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.google.android.exoplayer2.analytics.AnalyticsCollector;
|
||||
import com.google.android.exoplayer2.analytics.PlayerId;
|
||||
import com.google.android.exoplayer2.source.MediaSource.MediaPeriodId;
|
||||
import com.google.android.exoplayer2.source.MediaSource.MediaSourceCaller;
|
||||
@ -37,6 +39,7 @@ import com.google.android.exoplayer2.trackselection.ExoTrackSelection;
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelector;
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
|
||||
import com.google.android.exoplayer2.upstream.Allocator;
|
||||
import com.google.android.exoplayer2.util.Clock;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@ -74,12 +77,16 @@ public final class MediaPeriodQueueTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
AnalyticsCollector analyticsCollector = new AnalyticsCollector(Clock.DEFAULT);
|
||||
analyticsCollector.setPlayer(
|
||||
new ExoPlayer.Builder(ApplicationProvider.getApplicationContext()).build(),
|
||||
Looper.getMainLooper());
|
||||
mediaPeriodQueue =
|
||||
new MediaPeriodQueue(/* analyticsCollector= */ null, new Handler(Looper.getMainLooper()));
|
||||
new MediaPeriodQueue(analyticsCollector, new Handler(Looper.getMainLooper()));
|
||||
mediaSourceList =
|
||||
new MediaSourceList(
|
||||
mock(MediaSourceList.MediaSourceListInfoRefreshListener.class),
|
||||
/* analyticsCollector= */ null,
|
||||
analyticsCollector,
|
||||
new Handler(Looper.getMainLooper()),
|
||||
PlayerId.UNSET);
|
||||
rendererCapabilities = new RendererCapabilities[0];
|
||||
|
@ -25,12 +25,16 @@ import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.os.Looper;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.google.android.exoplayer2.analytics.AnalyticsCollector;
|
||||
import com.google.android.exoplayer2.analytics.PlayerId;
|
||||
import com.google.android.exoplayer2.source.MediaSource;
|
||||
import com.google.android.exoplayer2.source.ShuffleOrder;
|
||||
import com.google.android.exoplayer2.testutil.FakeMediaSource;
|
||||
import com.google.android.exoplayer2.testutil.FakeShuffleOrder;
|
||||
import com.google.android.exoplayer2.util.Clock;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@ -51,10 +55,14 @@ public class MediaSourceListTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
AnalyticsCollector analyticsCollector = new AnalyticsCollector(Clock.DEFAULT);
|
||||
analyticsCollector.setPlayer(
|
||||
new ExoPlayer.Builder(ApplicationProvider.getApplicationContext()).build(),
|
||||
Looper.getMainLooper());
|
||||
mediaSourceList =
|
||||
new MediaSourceList(
|
||||
mock(MediaSourceList.MediaSourceListInfoRefreshListener.class),
|
||||
/* analyticsCollector= */ null,
|
||||
analyticsCollector,
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
PlayerId.UNSET);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user