From 3818d7329d19cdcd2d87bce812794a4ca77c9d30 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 4 Feb 2019 18:26:40 +0000 Subject: [PATCH] Use ExoPlayer's AnalyticsListener and AnalyticsCollector. This combines all the different listeners in ExoVideosPlayerV2 into one and moves the PlaybackLogger class towards ExoPlayer's AnalyticsCollector with the same purpose. In the future this allows two things: 1. Gradually move LogginClient implementations to AnalyticsListener to prevent custom event forwarding. 2. Using ExoPlayer's QoE extension (which is also an AnalyticsListener). PiperOrigin-RevId: 232321182 --- .../android/exoplayer2/analytics/AnalyticsCollector.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java index 55031e2d12..154cc11dca 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsCollector.java @@ -129,12 +129,13 @@ public class AnalyticsCollector /** * Sets the player for which data will be collected. Must only be called if no player has been set - * yet. + * yet or the current player is idle. * * @param player The {@link Player} for which data will be collected. */ public void setPlayer(Player player) { - Assertions.checkState(this.player == null); + Assertions.checkState( + this.player == null || mediaPeriodQueueTracker.mediaPeriodInfoQueue.isEmpty()); this.player = Assertions.checkNotNull(player); }