From 914b9d7a85838bc979bb587da075c1e6869d4eb6 Mon Sep 17 00:00:00 2001 From: Roman Birg Date: Tue, 14 Apr 2015 17:08:54 -0700 Subject: [PATCH] Eleven: properly send open/close session events These were being fired off at device boot and there was a session being held for the entire duration. Only request the session when playing. Change-Id: I37ebc5a6898453dd090cc68ee2126e9c5d08d892 Signed-off-by: Roman Birg --- src/com/cyanogenmod/eleven/MusicPlaybackService.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/com/cyanogenmod/eleven/MusicPlaybackService.java b/src/com/cyanogenmod/eleven/MusicPlaybackService.java index 6703dbf..bab3508 100644 --- a/src/com/cyanogenmod/eleven/MusicPlaybackService.java +++ b/src/com/cyanogenmod/eleven/MusicPlaybackService.java @@ -2390,6 +2390,11 @@ public class MusicPlaybackService extends Service { return; } + final Intent intent = new Intent(AudioEffect.ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION); + intent.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, getAudioSessionId()); + intent.putExtra(AudioEffect.EXTRA_PACKAGE_NAME, getPackageName()); + sendBroadcast(intent); + mAudioManager.registerMediaButtonEventReceiver(new ComponentName(getPackageName(), MediaButtonIntentReceiver.class.getName())); mSession.setActive(true); @@ -2428,6 +2433,12 @@ public class MusicPlaybackService extends Service { synchronized (this) { mPlayerHandler.removeMessages(FADEUP); if (mIsSupposedToBePlaying) { + final Intent intent = new Intent( + AudioEffect.ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION); + intent.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, getAudioSessionId()); + intent.putExtra(AudioEffect.EXTRA_PACKAGE_NAME, getPackageName()); + sendBroadcast(intent); + mPlayer.pause(); setIsSupposedToBePlaying(false, true); stopShakeDetector(false); @@ -3140,10 +3151,6 @@ public class MusicPlaybackService extends Service { } player.setOnCompletionListener(this); player.setOnErrorListener(this); - final Intent intent = new Intent(AudioEffect.ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION); - intent.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, getAudioSessionId()); - intent.putExtra(AudioEffect.EXTRA_PACKAGE_NAME, mService.get().getPackageName()); - mService.get().sendBroadcast(intent); return true; } -- 2.11.0