OSDN Git Service

Eleven: properly send open/close session events
authorRoman Birg <roman@cyngn.com>
Wed, 15 Apr 2015 00:08:54 +0000 (17:08 -0700)
committerRoman Birg <roman@cyngn.com>
Mon, 20 Apr 2015 20:29:43 +0000 (13:29 -0700)
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 <roman@cyngn.com>
src/com/cyanogenmod/eleven/MusicPlaybackService.java

index 6703dbf..bab3508 100644 (file)
@@ -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;
         }