From aeeef6543069c56172c635b019653ad48a7461a1 Mon Sep 17 00:00:00 2001 From: kimvde Date: Fri, 11 Jun 2021 17:17:22 +0100 Subject: [PATCH] Add onAvailableCommandsChanged to AnalyticsListener PiperOrigin-RevId: 378886637 --- .../exoplayer2/analytics/AnalyticsCollector.java | 9 +++++++++ .../exoplayer2/analytics/AnalyticsListener.java | 11 +++++++++++ 2 files changed, 20 insertions(+) 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 8acb47ad1b..9c72049ad8 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 @@ -631,6 +631,15 @@ public class AnalyticsCollector }); } + @Override + public void onAvailableCommandsChanged(Player.Commands availableCommands) { + EventTime eventTime = generateCurrentPlayerMediaPeriodEventTime(); + sendEvent( + eventTime, + AnalyticsListener.EVENT_AVAILABLE_COMMANDS_CHANGED, + listener -> listener.onAvailableCommandsChanged(eventTime, availableCommands)); + } + @SuppressWarnings("deprecation") // Implementing and calling deprecated listener method. @Override public final void onPlayerStateChanged(boolean playWhenReady, @Player.State int playbackState) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsListener.java b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsListener.java index d5c2768f14..ae90ff9db9 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsListener.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/analytics/AnalyticsListener.java @@ -169,6 +169,7 @@ public interface AnalyticsListener { EVENT_PLAYER_ERROR, EVENT_POSITION_DISCONTINUITY, EVENT_PLAYBACK_PARAMETERS_CHANGED, + EVENT_AVAILABLE_COMMANDS_CHANGED, EVENT_MEDIA_METADATA_CHANGED, EVENT_PLAYLIST_MEDIA_METADATA_CHANGED, EVENT_LOAD_STARTED, @@ -247,6 +248,8 @@ public interface AnalyticsListener { int EVENT_POSITION_DISCONTINUITY = Player.EVENT_POSITION_DISCONTINUITY; /** {@link Player#getPlaybackParameters()} changed. */ int EVENT_PLAYBACK_PARAMETERS_CHANGED = Player.EVENT_PLAYBACK_PARAMETERS_CHANGED; + /** {@link Player#getAvailableCommands()} changed. */ + int EVENT_AVAILABLE_COMMANDS_CHANGED = Player.EVENT_AVAILABLE_COMMANDS_CHANGED; /** {@link Player#getMediaMetadata()} changed. */ int EVENT_MEDIA_METADATA_CHANGED = Player.EVENT_MEDIA_METADATA_CHANGED; /** {@link Player#getPlaylistMediaMetadata()} changed. */ @@ -614,6 +617,14 @@ public interface AnalyticsListener { @Deprecated default void onLoadingChanged(EventTime eventTime, boolean isLoading) {} + /** + * Called when the player's available commands changed. + * + * @param eventTime The event time. + * @param availableCommands The available commands. + */ + default void onAvailableCommandsChanged(EventTime eventTime, Player.Commands availableCommands) {} + /** * Called when a fatal player error occurred. *