summaryrefslogtreecommitdiffstats
path: root/fmapp2/src/com/caf/fmradio/FMRadioService.java
diff options
context:
space:
mode:
authorVenkateshwarlu Domakonda <vdomak@codeaurora.org>2014-04-21 14:26:56 +0530
committerVenkateshwarlu Domakonda <vdomak@codeaurora.org>2014-04-21 14:40:54 +0530
commit0053a01770011748c7886a5d83c05cfa6daa395f (patch)
treeb5878d2593233a61225017ecf3c96e78810b22e4 /fmapp2/src/com/caf/fmradio/FMRadioService.java
parent2a73d76fb46dbef2e5b447f2bd4ea1be30797737 (diff)
downloadandroid_hardware_qcom_fm-0053a01770011748c7886a5d83c05cfa6daa395f.tar.gz
android_hardware_qcom_fm-0053a01770011748c7886a5d83c05cfa6daa395f.tar.bz2
android_hardware_qcom_fm-0053a01770011748c7886a5d83c05cfa6daa395f.zip
FM: Fix the FM recording stopped when AUDIOFOCUS_LOSS_TRANSIENT received
- When FM Service receives AUDIOFOCUS_LOSS_TRANSIENT or AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK FM recording is stopped. - As the FM SOC is power ON state, FM recording can continue. Change-Id: I552d60b55c56ad0ea26cc684addbc442a60b2ac8 CRs-Fixed: 638761
Diffstat (limited to 'fmapp2/src/com/caf/fmradio/FMRadioService.java')
-rw-r--r--fmapp2/src/com/caf/fmradio/FMRadioService.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java
index a218893..1143eaf 100644
--- a/fmapp2/src/com/caf/fmradio/FMRadioService.java
+++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java
@@ -1138,11 +1138,26 @@ public class FMRadioService extends Service
switch (msg.arg1) {
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
Log.v(LOGTAG, "AudioFocus: received AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK");
+ case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
+ Log.v(LOGTAG, "AudioFocus: received AUDIOFOCUS_LOSS_TRANSIENT");
+ if (mSpeakerPhoneOn) {
+ mSpeakerDisableHandler.removeCallbacks(mSpeakerDisableTask);
+ mSpeakerDisableHandler.postDelayed(mSpeakerDisableTask, 0);
+ }
+ if (true == mPlaybackInProgress) {
+ if(mMuted)
+ unMute();
+ stopFM();
+ }
+ if (mSpeakerPhoneOn) {
+ if (isAnalogModeSupported())
+ setAudioPath(false);
+ }
+ mStoppedOnFocusLoss = true;
+ break;
case AudioManager.AUDIOFOCUS_LOSS:
Log.v(LOGTAG, "AudioFocus: received AUDIOFOCUS_LOSS");
//intentional fall through.
- case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
- Log.v(LOGTAG, "AudioFocus: received AUDIOFOCUS_LOSS_TRANSIENT");
if (true == isFmRecordingOn())
stopRecording();
if (mSpeakerPhoneOn) {