diff options
author | tommy watson <toggles@gmail.com> | 2012-12-11 18:53:51 +0100 |
---|---|---|
committer | tommy watson <toggles@gmail.com> | 2012-12-11 18:53:51 +0100 |
commit | 1caf1e5e085e425a81fd6109a4d33155275e8289 (patch) | |
tree | b411f559ec2f31671b1cef6abe0a5e277745be4b /src/de | |
parent | 3692119bedec66358d72a649d9408ece77a7b30c (diff) | |
download | AntennaPod-1caf1e5e085e425a81fd6109a4d33155275e8289.zip |
Added pause on "audio becoming noisy" event, this happens when you disconnect bluetooth headphones and the output switches to the "noisy" speaker.
Diffstat (limited to 'src/de')
-rw-r--r-- | src/de/danoeh/antennapod/service/PlaybackService.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/service/PlaybackService.java b/src/de/danoeh/antennapod/service/PlaybackService.java index 94025f627..c5a20c31f 100644 --- a/src/de/danoeh/antennapod/service/PlaybackService.java +++ b/src/de/danoeh/antennapod/service/PlaybackService.java @@ -292,6 +292,8 @@ public class PlaybackService extends Service { Intent.ACTION_HEADSET_PLUG)); registerReceiver(shutdownReceiver, new IntentFilter( ACTION_SHUTDOWN_PLAYBACK_SERVICE)); + registerReceiver(audioBecomingNoisy, new IntentFilter( + AudioManager.ACTION_AUDIO_BECOMING_NOISY)); } @@ -321,6 +323,7 @@ public class PlaybackService extends Service { disableSleepTimer(); unregisterReceiver(headsetDisconnected); unregisterReceiver(shutdownReceiver); + unregisterReceiver(audioBecomingNoisy); if (android.os.Build.VERSION.SDK_INT >= 14) { audioManager.unregisterRemoteControlClient(remoteControlClient); } @@ -1111,6 +1114,27 @@ public class PlaybackService extends Service { } } }; + + private BroadcastReceiver audioBecomingNoisy = new BroadcastReceiver() { + + @Override + public void onReceive(Context context, Intent intent) { + // sound is about to change, eg. bluetooth -> speaker + boolean pauseOnDisconnect = PreferenceManager + .getDefaultSharedPreferences( + context.getApplicationContext()) + .getBoolean( + PodcastApp.PREF_PAUSE_ON_HEADSET_DISCONNECT, + false); + if(pauseOnDisconnect&&status==PlayerStatus.PLAYING) { + if (AppConfig.DEBUG) + Log.d(TAG, + "Pausing playback because audio is becoming noisy"); + pause(false, true); + } + } + //android.media.AUDIO_BECOMING_NOISY + }; private BroadcastReceiver shutdownReceiver = new BroadcastReceiver() { |