diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java index 9c44addac4091f8b36e7d5765477812e768e62bc..909a14c0f63c73d291a2f4af2f4bc7d6be31916d 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadio.java +++ b/fmapp2/src/com/caf/fmradio/FMRadio.java @@ -1679,7 +1679,6 @@ public class FMRadio extends Activity private void disableRadio() { boolean bStatus = false; - boolean bSpeakerPhoneOn = isSpeakerEnabled(); cancelSearch(); endSleepTimer(); @@ -1698,11 +1697,6 @@ public class FMRadio extends Activity } enableRadioOnOffUI(); - // restore default wired headset on FM power off - if (bSpeakerPhoneOn) { - mService.enableSpeaker(false); - mSpeakerButton.setImageResource(R.drawable.btn_earphone); - } }catch (RemoteException e) { e.printStackTrace(); } diff --git a/fmapp2/src/com/caf/fmradio/FMRadioService.java b/fmapp2/src/com/caf/fmradio/FMRadioService.java index 02319976a4d9f81a85062beb70d11ec1ebd968fd..83018f560ec5c24b91ec9f17bfc4ec276e2c8380 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadioService.java +++ b/fmapp2/src/com/caf/fmradio/FMRadioService.java @@ -2137,6 +2137,7 @@ public class FMRadioService extends Service * Turn OFF FM Operations: This disables all the current FM operations . */ private void fmOperationsOff() { + // stop recording if (isFmRecordingOn()) { stopRecording(); @@ -2147,14 +2148,19 @@ public class FMRadioService extends Service return; } } + // disable audio path AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); if(audioManager != null) { Log.d(LOGTAG, "audioManager.setFmRadioOn = false \n" ); stopFM(); - //audioManager.setParameters("FMRadioOn=false"); Log.d(LOGTAG, "audioManager.setFmRadioOn false done \n" ); } + // reset FM audio settings + if (isSpeakerEnabled() == true) + enableSpeaker(false); + if (isMuted() == true) + unMute(); if (isAnalogModeEnabled()) { SystemProperties.set("hw.fm.isAnalog","false");