diff options
author | Venkateshwarlu Domakonda <vdomak@codeaurora.org> | 2014-04-21 14:26:56 +0530 |
---|---|---|
committer | Venkateshwarlu Domakonda <vdomak@codeaurora.org> | 2014-04-21 14:40:54 +0530 |
commit | 0053a01770011748c7886a5d83c05cfa6daa395f (patch) | |
tree | b5878d2593233a61225017ecf3c96e78810b22e4 /fmapp2/src/com/caf/fmradio/FMRadioService.java | |
parent | 2a73d76fb46dbef2e5b447f2bd4ea1be30797737 (diff) | |
download | android_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.java | 19 |
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) { |