summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/fmradio/FmService.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/fmradio/FmService.java b/src/com/android/fmradio/FmService.java
index d197be4..f6e98c3 100644
--- a/src/com/android/fmradio/FmService.java
+++ b/src/com/android/fmradio/FmService.java
@@ -248,7 +248,14 @@ public class FmService extends Service implements FmRecorder.OnRecorderStateChan
String command = intent.getStringExtra("command");
Log.d(TAG, "onReceive, action = " + action + " / command = " + command);
// other app want FM stop, stop FM
- if ((SOUND_POWER_DOWN_MSG.equals(action) && CMDPAUSE.equals(command))) {
+
+ if (CMDPAUSE.equals(command)) {
+ // need remove all messages, make power down will be execute
+ mFmServiceHandler.removeCallbacksAndMessages(null);
+ Log.d(TAG, "Stopping FM playback");
+ powerDownAsync();
+ } else if (SOUND_POWER_DOWN_MSG.equals(action)) {
+ // phone shut down, so exit FM
// need remove all messages, make power down will be execute
mFmServiceHandler.removeCallbacksAndMessages(null);
exitFm();
@@ -692,6 +699,10 @@ public class FmService extends Service implements FmRecorder.OnRecorderStateChan
return true;
}
+ if (mFmRecorder != null) {
+ stopRecording();
+ }
+
setMute(true);
setRds(false);
enableFmAudio(false);