mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Fix memory leak and calling listener when disabled in AudioBecomingNoisyManager.
PiperOrigin-RevId: 277030401
This commit is contained in:
parent
ff82a13279
commit
e025371429
2 changed files with 10 additions and 2 deletions
|
|
@ -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;
|
||||||
@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
|
||||||
@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();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue