summaryrefslogtreecommitdiff
path: root/src/de
diff options
context:
space:
mode:
authortommy watson <toggles@gmail.com>2012-12-11 18:53:51 +0100
committertommy watson <toggles@gmail.com>2012-12-11 18:53:51 +0100
commit1caf1e5e085e425a81fd6109a4d33155275e8289 (patch)
treeb411f559ec2f31671b1cef6abe0a5e277745be4b /src/de
parent3692119bedec66358d72a649d9408ece77a7b30c (diff)
downloadAntennaPod-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.java24
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() {