diff --git a/fmapp2/src/com/caf/fmradio/FMRadio.java b/fmapp2/src/com/caf/fmradio/FMRadio.java index e7f1c51d5c5b9ff29256fefcdf51f5810ccd7c19..20b1133784296a9a3e0d52ac9c8eff55296e60f2 100644 --- a/fmapp2/src/com/caf/fmradio/FMRadio.java +++ b/fmapp2/src/com/caf/fmradio/FMRadio.java @@ -1680,20 +1680,29 @@ public class FMRadio extends Activity private void disableRadio() { boolean bStatus = false; boolean bSpeakerPhoneOn = isSpeakerEnabled(); + cancelSearch(); endSleepTimer(); + + // Stop if there is an ongoing Record if(mRecording) { - //Stop if there is an ongoing Record stopRecording(); } + if(mService != null) { try { bStatus = mService.fmOff(); - enableRadioOnOffUI(); if (bStatus == false) { mCommandFailed = CMD_FMOFF; Log.e(LOGTAG, " mService.fmOff failed"); } + + 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(); }