From ff82a132795fdae1f57a447ea87fe508ea8c2216 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Fri, 25 Oct 2019 14:52:15 +0100 Subject: [PATCH] Add player release check to enabling audio focus & audio becoming noisy handling. PiperOrigin-RevId: 276679790 --- .../com/google/android/exoplayer2/SimpleExoPlayer.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java b/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java index 33316ab3f1..7af72048dd 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java @@ -348,6 +348,7 @@ public class SimpleExoPlayer extends BasePlayer private boolean hasNotifiedFullWrongThreadWarning; @Nullable private PriorityTaskManager priorityTaskManager; private boolean isPriorityTaskManagerRegistered; + private boolean playerReleased; /** * @param context A {@link Context}. @@ -641,6 +642,9 @@ public class SimpleExoPlayer extends BasePlayer @Override public void setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus) { verifyApplicationThread(); + if (playerReleased) { + return; + } if (!Util.areEqual(this.audioAttributes, audioAttributes)) { this.audioAttributes = audioAttributes; for (Renderer renderer : renderers) { @@ -778,6 +782,9 @@ public class SimpleExoPlayer extends BasePlayer */ public void setHandleAudioBecomingNoisy(boolean handleAudioBecomingNoisy) { verifyApplicationThread(); + if (playerReleased) { + return; + } audioBecomingNoisyManager.setEnabled(handleAudioBecomingNoisy); } @@ -1278,6 +1285,7 @@ public class SimpleExoPlayer extends BasePlayer } bandwidthMeter.removeEventListener(analyticsCollector); currentCues = Collections.emptyList(); + playerReleased = true; } @Override