diff --git a/android/src/main/java/com/leblaaanc/RNStreamingKitManager/RNStreamingKitManagerModule.java b/android/src/main/java/com/leblaaanc/RNStreamingKitManager/RNStreamingKitManagerModule.java index 735a703..1992705 100644 --- a/android/src/main/java/com/leblaaanc/RNStreamingKitManager/RNStreamingKitManagerModule.java +++ b/android/src/main/java/com/leblaaanc/RNStreamingKitManager/RNStreamingKitManagerModule.java @@ -47,9 +47,9 @@ public class RNStreamingKitManagerModule extends ReactContextBaseJavaModule impl int _seekToTime = 0; volatile boolean _isPaused; + volatile boolean _wasInterrupted; volatile boolean _isBuffering; AudioManager _audioManager; -; public RNStreamingKitManagerModule(ReactApplicationContext reactContext) { super(reactContext); @@ -265,13 +265,21 @@ public void onAudioFocusChange(int focusChange) { switch (focusChange) { case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: Log.d(NAME, "==> Audio Session Interruption case AUDIOFOCUS_LOSS_TRANSIENT."); - pause(); - notifyAudioInterruption("interruptStart"); + + if (isMusicPlaying()) { + _wasInterrupted = true; + pause(); + notifyAudioInterruption("interruptStart"); + } + break; case AudioManager.AUDIOFOCUS_GAIN: Log.d(NAME, "==> Audio Session Interruption case AUDIOFOCUS_GAIN."); - resume(); - notifyAudioInterruption("interruptEnd"); + if (_wasInterrupted) { + _wasInterrupted = false; + resume(); + notifyAudioInterruption("interruptEnd"); + } break; case AudioManager.AUDIOFOCUS_LOSS: //_audioManager.abandonAudioFocus(afChangeListener);