From f3a9c6f539a9e2ffe39dbe696dea8218ed32b7b3 Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 14 Feb 2022 10:39:13 +0000 Subject: [PATCH] Rewrite AnalyticsCollector to use new track APIs PiperOrigin-RevId: 428455848 --- .../analytics/AnalyticsListener.java | 19 +------------------ .../analytics/DefaultAnalyticsCollector.java | 8 ++------ .../DefaultAnalyticsCollectorTest.java | 2 +- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java index f99c2b6e4a..7195661a2a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java @@ -45,9 +45,7 @@ import androidx.media3.common.Player.DiscontinuityReason; import androidx.media3.common.Player.PlaybackSuppressionReason; import androidx.media3.common.Player.TimelineChangeReason; import androidx.media3.common.Timeline; -import androidx.media3.common.TrackGroupArray; import androidx.media3.common.TrackSelection; -import androidx.media3.common.TrackSelectionArray; import androidx.media3.common.TrackSelectionParameters; import androidx.media3.common.TracksInfo; import androidx.media3.common.VideoSize; @@ -240,10 +238,7 @@ public interface AnalyticsListener { * {@link Player#getCurrentMediaItem()} changed or the player started repeating the current item. */ int EVENT_MEDIA_ITEM_TRANSITION = Player.EVENT_MEDIA_ITEM_TRANSITION; - /** - * {@link Player#getCurrentTracksInfo()}, {@link Player#getCurrentTrackGroups()} or {@link - * Player#getCurrentTrackSelections()} changed. - */ + /** {@link Player#getCurrentTracksInfo()} changed. */ int EVENT_TRACKS_CHANGED = Player.EVENT_TRACKS_CHANGED; /** {@link Player#isLoading()} ()} changed. */ int EVENT_IS_LOADING_CHANGED = Player.EVENT_IS_LOADING_CHANGED; @@ -708,18 +703,6 @@ public interface AnalyticsListener { */ default void onPlayerErrorChanged(EventTime eventTime, @Nullable PlaybackException error) {} - /** - * Called when the available or selected tracks for the renderers changed. - * - * @param eventTime The event time. - * @param trackGroups The available tracks. May be empty. - * @param trackSelections The track selections for each renderer. May contain null elements. - * @deprecated Use {@link #onTracksInfoChanged}. - */ - @Deprecated - default void onTracksChanged( - EventTime eventTime, TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {} - /** * Called when the available or selected tracks change. * diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java index b3d9c3669d..625753d85d 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollector.java @@ -484,15 +484,11 @@ public class DefaultAnalyticsCollector implements AnalyticsCollector { listener -> listener.onMediaItemTransition(eventTime, mediaItem, reason)); } + @SuppressWarnings("deprecation") // Implementing deprecated method. @Override - @SuppressWarnings("deprecation") // Implementing and calling deprecate listener method public final void onTracksChanged( TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { - EventTime eventTime = generateCurrentPlayerMediaPeriodEventTime(); - sendEvent( - eventTime, - AnalyticsListener.EVENT_TRACKS_CHANGED, - listener -> listener.onTracksChanged(eventTime, trackGroups, trackSelections)); + // Do nothing. Handled by non-deprecated onTracksInfoChanged. } @Override diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java index 7aff4de60f..ab60bd2bc4 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/analytics/DefaultAnalyticsCollectorTest.java @@ -1721,7 +1721,7 @@ public final class DefaultAnalyticsCollectorTest { ArgumentCaptor individualTracksChangedEventTimes = ArgumentCaptor.forClass(AnalyticsListener.EventTime.class); verify(listener, atLeastOnce()) - .onTracksChanged(individualTracksChangedEventTimes.capture(), any(), any()); + .onTracksInfoChanged(individualTracksChangedEventTimes.capture(), any()); ArgumentCaptor individualPlayWhenReadyChangedEventTimes = ArgumentCaptor.forClass(AnalyticsListener.EventTime.class); verify(listener, atLeastOnce())