Merge "FM: Added support for audio routing from speaker to BT headset."
diff --git a/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java b/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
index 4ca4645..fc0fc21 100644
--- a/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
+++ b/FMRecord/src/com/codeaurora/fmrecording/FMRecordingService.java
@@ -93,6 +93,7 @@
     private int clientPid = -1;
     private String clientProcessName = "";
     private BroadcastReceiver mSdcardUnmountReceiver = null;
+    private String mAudioType = "audio/*";
 
     public void onCreate() {
 
@@ -271,6 +272,7 @@
              mRecorder.setAudioSource(MediaRecorder.AudioSource.FM_RX);
              mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
              mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
+             mAudioType = "audio/3gpp";
         } catch (RuntimeException exception) {
              Log.d(TAG, "RuntimeException while settings");
              mRecorder.reset();
@@ -404,7 +406,7 @@
         cv.put(MediaStore.Audio.Media.DATA, file.getAbsolutePath());
         cv.put(MediaStore.Audio.Media.DATE_ADDED, (int) (current / 1000));
         cv.put(MediaStore.Audio.Media.DATE_MODIFIED, (int) (modDate / 1000));
-        cv.put(MediaStore.Audio.Media.MIME_TYPE, "AUDIO_AAC_MP4");
+        cv.put(MediaStore.Audio.Media.MIME_TYPE, mAudioType);
         cv.put(MediaStore.Audio.Media.ARTIST,
                 res.getString(R.string.audio_db_artist_name));
         cv.put(MediaStore.Audio.Media.ALBUM,
diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index a9091bb..b23aac1 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -1072,7 +1072,13 @@
                          mSpeakerDisableHandler.postDelayed(mSpeakerDisableTask, 0);
                       }
                       if (true == mPlaybackInProgress) {
-                          fmOff();
+                          if(mMuted)
+                             unMute();
+                          stopFM();
+                      }
+                      if (mSpeakerPhoneOn) {
+                          if (isAnalogModeSupported())
+                              setAudioPath(false);
                       }
                       mStoppedOnFocusLoss = true;
                       break;