From 16f0f0057741a815efe5ae70805f12f2af74f3e8 Mon Sep 17 00:00:00 2001 From: Satish kumar sugasi <ssugas@codeaurora.org> Date: Fri, 23 Sep 2016 15:38:11 -0700 Subject: [PATCH] Add logic to check dynamic property to enable/disable LPF This adds check for system property defined whether to enable or disable LPF in soc based on WIFI state or BT State during FM turn ON. Also checks system property flag while DATA state is CONNECTED or Disconnected to decide whether to enable or disable LPF in SOC. Change-Id: I566fc6439c7bbee7326548d92706d0c74b3ff97f --- qcom/fmradio/FmReceiver.java | 106 +++++++++++++++-------------------- 1 file changed, 46 insertions(+), 60 deletions(-) diff --git a/qcom/fmradio/FmReceiver.java b/qcom/fmradio/FmReceiver.java index 5ba27c8..af7191a 100644 --- a/qcom/fmradio/FmReceiver.java +++ b/qcom/fmradio/FmReceiver.java @@ -372,8 +372,8 @@ public class FmReceiver extends FmTransceiver Log.d (TAG, "state: " + Integer.toString(state) + " networkType: " + Integer.toString(networkType)); if (state == TelephonyManager.DATA_CONNECTED) { FMcontrolLowPassFilter(state, networkType, ENABLE_LPF); - } else { - mControl.enableLPF(sFd, DISABLE_LPF); + } else if (state == TelephonyManager.DATA_DISCONNECTED) { + FMcontrolLowPassFilter(state, networkType, DISABLE_LPF); } } }; @@ -401,13 +401,13 @@ public class FmReceiver extends FmTransceiver if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) { int newState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, - WifiManager.WIFI_STATE_UNKNOWN); + WifiManager.WIFI_STATE_UNKNOWN); + int mBtWlanLpf = SystemProperties.getInt("persist.btwlan.lpfenabler", 0); if (newState == WifiManager.WIFI_STATE_ENABLED) { Log.d (TAG, "enable LPF on wifi enabled " + newState); - int mBtWlanLpf = SystemProperties.getInt("persist.btwlan.lpfenabler", 0); if ((mBtWlanLpf & mIsWlanLpfEnabled) == mIsWlanLpfEnabled) mControl.enableLPF(sFd, ENABLE_LPF); - } else { + } else if ((mBtWlanLpf & mIsWlanLpfEnabled) == mIsWlanLpfEnabled) { Log.d (TAG, "Disable LPF on wifi state other than enabled " + newState); mControl.enableLPF(sFd, DISABLE_LPF); } @@ -425,12 +425,12 @@ public class FmReceiver extends FmTransceiver if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) { int newState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); + int mBtWlanLpf = SystemProperties.getInt("persist.btwlan.lpfenabler", 0); if (newState == BluetoothAdapter.STATE_ON) { Log.d (TAG, "enable LPF on BT enabled " + newState); - int mBtWlanLpf = SystemProperties.getInt("persist.btwlan.lpfenabler", 0); if ((mBtWlanLpf & mIsBtLpfEnabled) == mIsBtLpfEnabled) mControl.enableLPF(sFd, ENABLE_LPF); - } else { + } else if ((mBtWlanLpf & mIsBtLpfEnabled) == mIsBtLpfEnabled) { Log.d (TAG, "Disable LPF on BT state other than enabled " + newState); mControl.enableLPF(sFd, DISABLE_LPF); } @@ -608,17 +608,22 @@ public class FmReceiver extends FmTransceiver mRdsData = new FmRxRdsData(sFd); registerDataConnectionStateListener(app_context); app_context.registerReceiver(mReceiver, mIntentFilter); - WifiManager wifiManager = (WifiManager)app_context.getSystemService(app_context.WIFI_SERVICE); - if (wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { - Log.d(TAG, "enable LPF if WIFI is already on"); - mControl.enableLPF(sFd, ENABLE_LPF); - } - app_context.registerReceiver(mBtReceiver, mBtIntentFilter); - BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); - if (btAdapter != null) { - Log.d(TAG, "enable LPF if BT is already on"); - mControl.enableLPF(sFd, ENABLE_LPF); - } + int mBtWlanLpf = SystemProperties.getInt("persist.btwlan.lpfenabler", 0); + WifiManager wifiManager = (WifiManager)app_context.getSystemService(app_context.WIFI_SERVICE); + if (wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { + if ((mBtWlanLpf & mIsWlanLpfEnabled) == mIsWlanLpfEnabled) { + Log.d(TAG, "enable LPF if WIFI is already on"); + mControl.enableLPF(sFd, ENABLE_LPF); + } + } + app_context.registerReceiver(mBtReceiver, mBtIntentFilter); + BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); + if (btAdapter != null) { + if ((mBtWlanLpf & mIsWlanLpfEnabled) == mIsWlanLpfEnabled) { + Log.d(TAG, "enable LPF if BT is already on"); + mControl.enableLPF(sFd, ENABLE_LPF); + } + } } else { status = false; @@ -2955,141 +2960,122 @@ public class FmReceiver extends FmTransceiver { case TelephonyManager.NETWORK_TYPE_GPRS: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfGprs & RatConf) == mEnableLpfGprs)) { - Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); + if ((mEnableLpfGprs & RatConf) == mEnableLpfGprs) { + Log.v (TAG, "set LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_EDGE: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfEdge & RatConf) == mEnableLpfEdge)) { - Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); + if ((mEnableLpfEdge & RatConf) == mEnableLpfEdge) { + Log.v (TAG, "set LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_UMTS: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfUmts & RatConf) == mEnableLpfUmts )) { - Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); + if ((mEnableLpfUmts & RatConf) == mEnableLpfUmts ) { + Log.v (TAG, "set LPF for net_type: " + Integer.toString(net_type)); + Log.v (TAG, "enable:" + enable); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_CDMA: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfCdma & RatConf) == mEnableLpfCdma)) { + if ((mEnableLpfCdma & RatConf) == mEnableLpfCdma) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_EVDO_0: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfEvdo0 & RatConf) == mEnableLpfEvdo0 )) { + if ((mEnableLpfEvdo0 & RatConf) == mEnableLpfEvdo0 ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_EVDO_A: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfEvdoA & RatConf) == mEnableLpfEvdoA )) { + if ((mEnableLpfEvdoA & RatConf) == mEnableLpfEvdoA ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_1xRTT: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpf1xRtt & RatConf) == mEnableLpf1xRtt )) { + if ((mEnableLpf1xRtt & RatConf) == mEnableLpf1xRtt ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_HSDPA: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfHsdpa & RatConf) == mEnableLpfHsdpa )) { + if ((mEnableLpfHsdpa & RatConf) == mEnableLpfHsdpa ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_HSUPA: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfHsupa & RatConf) == mEnableLpfHsupa)) { + if ((mEnableLpfHsupa & RatConf) == mEnableLpfHsupa) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_HSPA: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfHspa & RatConf) == mEnableLpfHspa )) { + if ((mEnableLpfHspa & RatConf) == mEnableLpfHspa ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_IDEN: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfIden & RatConf) == mEnableLpfIden )) { + if ((mEnableLpfIden & RatConf) == mEnableLpfIden ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_EVDO_B: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfEvdoB & RatConf) == mEnableLpfEvdoB )) { + if ((mEnableLpfEvdoB & RatConf) == mEnableLpfEvdoB ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_LTE: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfLte & RatConf) == mEnableLpfLte )) { + if ((mEnableLpfLte & RatConf) == mEnableLpfLte ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_EHRPD: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfEhrpd & RatConf) == mEnableLpfEhrpd )) { + if ((mEnableLpfEhrpd & RatConf) == mEnableLpfEhrpd ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_HSPAP: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfHspap & RatConf) == mEnableLpfHspap)) { + if ((mEnableLpfHspap & RatConf) == mEnableLpfHspap ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_GSM: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfGsm & RatConf) == mEnableLpfGsm)) { + if ((mEnableLpfGsm & RatConf) == mEnableLpfGsm ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_TD_SCDMA: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfScdma & RatConf) == mEnableLpfScdma)) { + if ((mEnableLpfScdma & RatConf) == mEnableLpfScdma ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_IWLAN: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfIwlan & RatConf) == mEnableLpfIwlan )) { + if ((mEnableLpfIwlan & RatConf) == mEnableLpfIwlan ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; case TelephonyManager.NETWORK_TYPE_LTE_CA: - if ((state == TelephonyManager.DATA_CONNECTED) && - ((mEnableLpfLteCa & RatConf) == mEnableLpfLteCa )) { + if ((mEnableLpfLteCa & RatConf) == mEnableLpfLteCa ) { Log.d (TAG, "enabling LPF for net_type: " + Integer.toString(net_type)); mControl.enableLPF(sFd, enable); } break; default: Log.d (TAG, "net_type " + Integer.toString(net_type) + " doesn't need LPF enabling"); - mControl.enableLPF(sFd, enable); break; } } -- GitLab