Merge "fm: Check proper FM state before enabling FM Rx/Tx"
diff --git a/qcom/fmradio/FmReceiver.java b/qcom/fmradio/FmReceiver.java
index ac32ff9..a474680 100644
--- a/qcom/fmradio/FmReceiver.java
+++ b/qcom/fmradio/FmReceiver.java
@@ -433,14 +433,16 @@
if (state == FMState_Rx_Turned_On || state == FMState_Srch_InProg) {
Log.d(TAG, "enable: FM already turned On and running");
return status;
- }
- else if (state == subPwrLevel_FMTurning_Off) {
+ }else if (state == subPwrLevel_FMTurning_Off) {
Log.v(TAG, "FM is in the process of turning off.Pls wait for sometime.");
return status;
- }
- else if (state == subPwrLevel_FMRx_Starting) {
+ }else if (state == subPwrLevel_FMRx_Starting) {
Log.v(TAG, "FM is in the process of turning On.Pls wait for sometime.");
return status;
+ }else if ((state == FMState_Tx_Turned_On)
+ || (state == subPwrLevel_FMTx_Starting)) {
+ Log.v(TAG, "FM Tx is turned on or in the process of turning on.");
+ return status;
}
setFMPowerState(subPwrLevel_FMRx_Starting);
diff --git a/qcom/fmradio/FmTransmitter.java b/qcom/fmradio/FmTransmitter.java
index f13e4a7..287da3c 100644
--- a/qcom/fmradio/FmTransmitter.java
+++ b/qcom/fmradio/FmTransmitter.java
@@ -146,18 +146,23 @@
*
*/
public boolean enable (FmConfig configSettings){
- boolean status = true;
+ boolean status = false;
int state = getFMState();
if (state == FMState_Tx_Turned_On) {
Log.d(TAG, "enable: FM Tx already turned On and running");
return status;
- } else if (state == subPwrLevel_FMTurning_Off) {
+ }else if (state == subPwrLevel_FMTurning_Off) {
Log.v(TAG, "FM is in the process of turning off.Pls wait for sometime.");
return status;
- } else if(state == subPwrLevel_FMTx_Starting) {
+ }else if((state == subPwrLevel_FMTx_Starting)
+ ||(state == subPwrLevel_FMRx_Starting)) {
Log.v(TAG, "FM is in the process of turning On.Pls wait for sometime.");
return status;
+ }else if((state == FMState_Srch_InProg)
+ ||(state == FMState_Rx_Turned_On)) {
+ Log.v(TAG, "FM Rx is turned on");
+ return status;
}
setFMPowerState(subPwrLevel_FMTx_Starting);
Log.v(TAG, "enable: CURRENT-STATE : FMOff ---> NEW-STATE : FMTxStarting");