From 34069365b09165dbcaa11c208a42efe21dfcec3b Mon Sep 17 00:00:00 2001 From: Kamal Negi <kamaln@codeaurora.org> Date: Thu, 30 Jun 2016 19:01:04 +0530 Subject: [PATCH] Revert "FM: Wait to be completely closed before processing next start" This reverts commit 43a4f71274fca4bbe0915e6990d7dd3fe249bd0d. Change-Id: Id21676336b73b613d16e8e2b8a100f7148265aba --- qcom/fmradio/FmReceiver.java | 31 +++++++++--------------------- qcom/fmradio/FmRxEventListner.java | 18 +++++------------ 2 files changed, 14 insertions(+), 35 deletions(-) diff --git a/qcom/fmradio/FmReceiver.java b/qcom/fmradio/FmReceiver.java index 7d6ab0d..5ba27c8 100644 --- a/qcom/fmradio/FmReceiver.java +++ b/qcom/fmradio/FmReceiver.java @@ -41,7 +41,6 @@ import android.content.Intent; import android.net.wifi.WifiManager; import android.content.IntentFilter; import android.bluetooth.BluetoothAdapter; -import java.lang.Object; /** * This class contains all interfaces and types needed to @@ -440,8 +439,6 @@ public class FmReceiver extends FmTransceiver } } }; - private volatile int mState; - public static Object mLockObject = new Object(); /** * Constructor for the receiver Object @@ -449,7 +446,7 @@ public class FmReceiver extends FmTransceiver public FmReceiver(){ mControl = new FmRxControls(); mRdsData = new FmRxRdsData (sFd); - mRxEvents = new FmRxEventListner(this); + mRxEvents = new FmRxEventListner(); } /** @@ -464,7 +461,7 @@ public class FmReceiver extends FmTransceiver public FmReceiver(String devicePath, FmRxEvCallbacksAdaptor callback) throws InstantiationException { mControl = new FmRxControls(); - mRxEvents = new FmRxEventListner(this); + mRxEvents = new FmRxEventListner(); Log.e(TAG, "FmReceiver constructor"); //registerClient(callback); @@ -579,32 +576,22 @@ public class FmReceiver extends FmTransceiver * Check for FM State. * If FMRx already on, then return. */ - - int mState = getFMState(); + int state = getFMState(); mIntentFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); mBtIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); - if (mState == FMState_Rx_Turned_On || mState == FMState_Srch_InProg) { - + if (state == FMState_Rx_Turned_On || state == FMState_Srch_InProg) { Log.d(TAG, "enable: FM already turned On and running"); return status; - }else if (mState == subPwrLevel_FMTurning_Off) { + }else if (state == subPwrLevel_FMTurning_Off) { Log.v(TAG, "FM is in the process of turning off.Pls wait for sometime."); - synchronized(mLockObject){ - try { - if (getFMState() != FMState_Turned_Off) { - mLockObject.wait(); - } - } catch (InterruptedException e) { - Log.e(TAG, "Error in waiting on mLockObject" + e); - } - } - }else if (mState == subPwrLevel_FMRx_Starting) { + return status; + }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 ((mState == FMState_Tx_Turned_On) - || (mState == subPwrLevel_FMTx_Starting)) { + }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; } diff --git a/qcom/fmradio/FmRxEventListner.java b/qcom/fmradio/FmRxEventListner.java index 9c9bba2..0ad7c0c 100644 --- a/qcom/fmradio/FmRxEventListner.java +++ b/qcom/fmradio/FmRxEventListner.java @@ -59,13 +59,8 @@ class FmRxEventListner { } private Thread mThread; - private FmReceiver mReceiver; private static final String TAG = "FMRadio"; - public FmRxEventListner(FmReceiver receiver) { - mReceiver = receiver; - } - public void startListner (final int fd, final FmRxEvCallbacks cb) { /* start a thread and listen for messages */ mThread = new Thread(){ @@ -218,14 +213,11 @@ class FmRxEventListner { case 18: Log.d(TAG, "Got RADIO_DISABLED"); if (FmTransceiver.getFMPowerState() == FmTransceiver.subPwrLevel_FMTurning_Off) { - synchronized(FmReceiver.mLockObject) { - FmTransceiver.release("/dev/radio0"); - cb.FmRxEvDisableReceiver(); - /*Set the state as FMOff */ - FmTransceiver.setFMPowerState(FmTransceiver.FMState_Turned_Off); - Log.v(TAG, "RxEvtList: CURRENT-STATE : FMTurningOff ---> NEW-STATE : FMOff"); - FmReceiver.mLockObject.notify(); - } + FmTransceiver.release("/dev/radio0"); + cb.FmRxEvDisableReceiver(); + /*Set the state as FMOff */ + FmTransceiver.setFMPowerState(FmTransceiver.FMState_Turned_Off); + Log.v(TAG, "RxEvtList: CURRENT-STATE : FMTurningOff ---> NEW-STATE : FMOff"); Thread.currentThread().interrupt(); } else { Log.d(TAG, "Unexpected RADIO_DISABLED recvd"); -- GitLab