From 2cf98ecffe9a3a66e6045cf8b4803eaf055bad65 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 22 Oct 2019 17:48:45 +0100 Subject: [PATCH] Posts AudioBecomingNoisyManager listener events to eventHandler. PiperOrigin-RevId: 276084113 --- .../android/exoplayer2/AudioBecomingNoisyManager.java | 11 +++++++---- .../google/android/exoplayer2/SimpleExoPlayer.java | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/AudioBecomingNoisyManager.java b/library/core/src/main/java/com/google/android/exoplayer2/AudioBecomingNoisyManager.java index 667ef9c290..7da175b4ef 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/AudioBecomingNoisyManager.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/AudioBecomingNoisyManager.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.media.AudioManager; +import android.os.Handler; /* package */ final class AudioBecomingNoisyManager { @@ -31,9 +32,9 @@ import android.media.AudioManager; void onAudioBecomingNoisy(); } - public AudioBecomingNoisyManager(Context context, EventListener listener) { + public AudioBecomingNoisyManager(Context context, Handler eventHandler, EventListener listener) { this.context = context.getApplicationContext(); - this.receiver = new AudioBecomingNoisyReceiver(listener); + this.receiver = new AudioBecomingNoisyReceiver(eventHandler, listener); } /** @@ -56,15 +57,17 @@ import android.media.AudioManager; private static final class AudioBecomingNoisyReceiver extends BroadcastReceiver { private final EventListener listener; + private final Handler eventHandler; - public AudioBecomingNoisyReceiver(EventListener listener) { + public AudioBecomingNoisyReceiver(Handler eventHandler, EventListener listener) { + this.eventHandler = eventHandler; this.listener = listener; } @Override public void onReceive(Context context, Intent intent) { if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) { - listener.onAudioBecomingNoisy(); + eventHandler.post(listener::onAudioBecomingNoisy); } } } 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 1f7802ac72..035bc4e5e6 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 @@ -454,7 +454,8 @@ public class SimpleExoPlayer extends BasePlayer if (drmSessionManager instanceof DefaultDrmSessionManager) { ((DefaultDrmSessionManager) drmSessionManager).addListener(eventHandler, analyticsCollector); } - audioBecomingNoisyManager = new AudioBecomingNoisyManager(context, componentListener); + audioBecomingNoisyManager = + new AudioBecomingNoisyManager(context, eventHandler, componentListener); audioFocusManager = new AudioFocusManager(context, componentListener); wakeLockManager = new WakeLockManager(context); }