mirror of
https://github.com/samsonjs/media.git
synced 2026-03-26 09:35:47 +00:00
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
78411006df
commit
fb8e99c778
5 changed files with 35 additions and 25 deletions
|
|
@ -238,7 +238,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,
|
||||
|
|
|
|||
|
|
@ -68,7 +68,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;
|
||||
|
|
@ -84,13 +84,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();
|
||||
|
|
@ -453,17 +452,15 @@ 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) {
|
||||
builder.add(period.info.id);
|
||||
period = period.getNext();
|
||||
}
|
||||
@Nullable MediaPeriodId readingPeriodId = reading == null ? null : reading.info.id;
|
||||
analyticsCollectorHandler.post(
|
||||
() -> analyticsCollector.updateMediaPeriodQueueInfo(builder.build(), readingPeriodId));
|
||||
ImmutableList.Builder<MediaPeriodId> builder = ImmutableList.builder();
|
||||
@Nullable MediaPeriodHolder period = playing;
|
||||
while (period != null) {
|
||||
builder.add(period.info.id);
|
||||
period = period.getNext();
|
||||
}
|
||||
@Nullable MediaPeriodId readingPeriodId = reading == null ? null : reading.info.id;
|
||||
analyticsCollectorHandler.post(
|
||||
() -> analyticsCollector.updateMediaPeriodQueueInfo(builder.build(), readingPeriodId));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -92,15 +92,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;
|
||||
|
|
@ -113,10 +113,8 @@ 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);
|
||||
}
|
||||
mediaSourceEventDispatcher.addEventListener(analyticsCollectorHandler, analyticsCollector);
|
||||
drmEventDispatcher.addEventListener(analyticsCollectorHandler, analyticsCollector);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@ import androidx.media3.common.PlaybackParameters;
|
|||
import androidx.media3.common.Player;
|
||||
import androidx.media3.common.Timeline;
|
||||
import androidx.media3.common.TracksInfo;
|
||||
import androidx.media3.common.util.Clock;
|
||||
import androidx.media3.exoplayer.analytics.AnalyticsCollector;
|
||||
import androidx.media3.exoplayer.analytics.PlayerId;
|
||||
import androidx.media3.exoplayer.source.MediaSource.MediaPeriodId;
|
||||
import androidx.media3.exoplayer.source.MediaSource.MediaSourceCaller;
|
||||
|
|
@ -42,6 +44,7 @@ import androidx.media3.test.utils.FakeMediaSource;
|
|||
import androidx.media3.test.utils.FakeShuffleOrder;
|
||||
import androidx.media3.test.utils.FakeTimeline;
|
||||
import androidx.media3.test.utils.FakeTimeline.TimelineWindowDefinition;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import org.junit.Before;
|
||||
|
|
@ -80,12 +83,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,15 +25,19 @@ import static org.mockito.Mockito.times;
|
|||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.os.Looper;
|
||||
import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.Player;
|
||||
import androidx.media3.common.Timeline;
|
||||
import androidx.media3.common.util.Clock;
|
||||
import androidx.media3.common.util.Util;
|
||||
import androidx.media3.exoplayer.analytics.AnalyticsCollector;
|
||||
import androidx.media3.exoplayer.analytics.PlayerId;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.source.ShuffleOrder;
|
||||
import androidx.media3.test.utils.FakeMediaSource;
|
||||
import androidx.media3.test.utils.FakeShuffleOrder;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
|
@ -54,10 +58,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…
Reference in a new issue