Move AnalyticsCollector setup from SimpleExoPlayer to ExoPlayerImpl

PiperOrigin-RevId: 320172040
This commit is contained in:
ibaker 2020-07-08 13:53:11 +01:00 committed by kim-vde
parent 01249bf1cd
commit 9b4918656f
2 changed files with 9 additions and 4 deletions

View file

@ -75,6 +75,8 @@ import java.util.concurrent.TimeoutException;
private final List<MediaSourceHolderSnapshot> mediaSourceHolderSnapshots;
private final boolean useLazyPreparation;
private final MediaSourceFactory mediaSourceFactory;
@Nullable private final AnalyticsCollector analyticsCollector;
private final BandwidthMeter bandwidthMeter;
@RepeatMode private int repeatMode;
private boolean shuffleModeEnabled;
@ -135,6 +137,8 @@ import java.util.concurrent.TimeoutException;
this.renderers = checkNotNull(renderers);
this.trackSelector = checkNotNull(trackSelector);
this.mediaSourceFactory = mediaSourceFactory;
this.bandwidthMeter = bandwidthMeter;
this.analyticsCollector = analyticsCollector;
this.useLazyPreparation = useLazyPreparation;
this.seekParameters = seekParameters;
this.pauseAtEndOfMediaItems = pauseAtEndOfMediaItems;
@ -161,6 +165,8 @@ import java.util.concurrent.TimeoutException;
pendingListenerNotifications = new ArrayDeque<>();
if (analyticsCollector != null) {
analyticsCollector.setPlayer(this);
addListener(analyticsCollector);
bandwidthMeter.addEventListener(applicationHandler, analyticsCollector);
}
internalPlayer =
new ExoPlayerImplInternal(
@ -712,6 +718,9 @@ import java.util.concurrent.TimeoutException;
new RuntimeException(new TimeoutException("Player release timed out.")))));
}
applicationHandler.removeCallbacksAndMessages(null);
if (analyticsCollector != null) {
bandwidthMeter.removeEventListener(analyticsCollector);
}
playbackInfo =
getResetPlaybackInfo(
/* clearPlaylist= */ false,

View file

@ -601,15 +601,12 @@ public class SimpleExoPlayer extends BasePlayer
builder.pauseAtEndOfMediaItems,
builder.clock,
builder.looper);
analyticsCollector.setPlayer(player);
player.addListener(analyticsCollector);
player.addListener(componentListener);
videoDebugListeners.add(analyticsCollector);
videoListeners.add(analyticsCollector);
audioDebugListeners.add(analyticsCollector);
audioListeners.add(analyticsCollector);
addMetadataOutput(analyticsCollector);
bandwidthMeter.addEventListener(eventHandler, analyticsCollector);
audioBecomingNoisyManager =
new AudioBecomingNoisyManager(builder.context, eventHandler, componentListener);
@ -1699,7 +1696,6 @@ public class SimpleExoPlayer extends BasePlayer
Assertions.checkNotNull(priorityTaskManager).remove(C.PRIORITY_PLAYBACK);
isPriorityTaskManagerRegistered = false;
}
bandwidthMeter.removeEventListener(analyticsCollector);
currentCues = Collections.emptyList();
playerReleased = true;
}