From 3bc3900dba5b9bfb5b6f9b7e147233631207f498 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 21 Jul 2017 04:48:03 -0700 Subject: [PATCH] Do not update queue when the queue did not actually change to avoid unnecessary updates are broadcasted to all clients. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=162728670 --- .../ext/mediasession/TimelineQueueNavigator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.java index 21bdaef0f3..76dbf40194 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.java @@ -93,7 +93,12 @@ public abstract class TimelineQueueNavigator implements MediaSessionConnector.Qu @Override public void onCurrentWindowIndexChanged(Player player) { - publishFloatingQueueWindow(player); + if (activeQueueItemId == MediaSessionCompat.QueueItem.UNKNOWN_ID + || player.getCurrentTimeline().getWindowCount() > maxQueueSize) { + publishFloatingQueueWindow(player); + } else if (!player.getCurrentTimeline().isEmpty()) { + activeQueueItemId = player.getCurrentWindowIndex(); + } } @Override