Commit e0253714 by samrobinson Committed by Oliver Woodman

Fix memory leak and calling listener when disabled in AudioBecomingNoisyManager.

PiperOrigin-RevId: 277030401
parent ff82a132
...@@ -55,7 +55,7 @@ import android.os.Handler; ...@@ -55,7 +55,7 @@ import android.os.Handler;
} }
} }
private static final class AudioBecomingNoisyReceiver extends BroadcastReceiver { private final class AudioBecomingNoisyReceiver extends BroadcastReceiver implements Runnable {
private final EventListener listener; private final EventListener listener;
private final Handler eventHandler; private final Handler eventHandler;
...@@ -67,7 +67,14 @@ import android.os.Handler; ...@@ -67,7 +67,14 @@ import android.os.Handler;
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) { if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
eventHandler.post(listener::onAudioBecomingNoisy); eventHandler.post(this);
}
}
@Override
public void run() {
if (receiverRegistered) {
listener.onAudioBecomingNoisy();
} }
} }
} }
......
...@@ -1265,6 +1265,7 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -1265,6 +1265,7 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void release() { public void release() {
verifyApplicationThread(); verifyApplicationThread();
audioBecomingNoisyManager.setEnabled(false);
audioFocusManager.handleStop(); audioFocusManager.handleStop();
wakeLockManager.setStayAwake(false); wakeLockManager.setStayAwake(false);
player.release(); player.release();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment