FMStats: Fix GetFMStatsForFreq error for non-cherokee
Fix GetFMStatsForFreq error for non-cherokee chip.
Change-Id: I294f9d032fa46a3b16248d832e88c1eca5aa1c6c
CRs-Fixed: 1069167
diff --git a/fmapp2/src/com/caf/fmradio/FMStats.java b/fmapp2/src/com/caf/fmradio/FMStats.java
index 1e7a25d..a0bc184 100644
--- a/fmapp2/src/com/caf/fmradio/FMStats.java
+++ b/fmapp2/src/com/caf/fmradio/FMStats.java
@@ -3265,27 +3265,32 @@
int ret;
Log.d(LOGTAG,"freq is "+freq);
result.setFreq(Integer.toString(freq));
+ boolean isCherokeeChip = isCherokeeChip();
if((null != mService)) {
try {
- ret = mService.getRssi();
- if (ret != 0) {
- Log.e(LOGTAG, "getrssi cmd failed: ret = " + ret);
- return null;
- }
- lastCmdSent = CMD_STNPARAM_RSSI;
- Log.e(LOGTAG, "wait for response of mService.getRssi");
- synchronized (obj) {
- try {
- obj.wait();
- } catch (InterruptedException e) {
- Log.e(LOGTAG, "getRSSI:THREAD interrupted");
- e.printStackTrace();
- return null;
+ if (isCherokeeChip) {
+ ret = mService.getRssi();
+ if (ret != 0) {
+ Log.e(LOGTAG, "getrssi cmd failed: ret = " + ret);
+ return null;
+ }
+ lastCmdSent = CMD_STNPARAM_RSSI;
+ Log.e(LOGTAG, "wait for response of mService.getRssi");
+ synchronized (obj) {
+ try {
+ obj.wait();
+ } catch (InterruptedException e) {
+ Log.e(LOGTAG, "getRSSI:THREAD interrupted");
+ e.printStackTrace();
+ return null;
+ }
}
+ } else {
+ nRssi = mService.getRssi();
}
Log.e(LOGTAG, "Got response of mService.getRssi");
if (nRssi != Integer.MAX_VALUE) {
- result.setRSSI(Integer.toString(nRssi));
+ result.setRSSI(Integer.toString((byte)nRssi));
} else {
return null;
}
@@ -3297,17 +3302,21 @@
if(!isRomeChip()) {
try {
- mService.getIoC();
- lastCmdSent = CMD_STNDBGPARAM_IOVERC;
- Log.e(LOGTAG, "wait for response of mService.getIoC");
- synchronized (obj) {
- try {
- obj.wait();
- } catch (InterruptedException e) {
- Log.e(LOGTAG, "getIOC:THREAD interrupted");
- e.printStackTrace();
- return null;
+ if (isCherokeeChip) {
+ mService.getIoC();
+ lastCmdSent = CMD_STNDBGPARAM_IOVERC;
+ Log.e(LOGTAG, "wait for response of mService.getIoC");
+ synchronized (obj) {
+ try {
+ obj.wait();
+ } catch (InterruptedException e) {
+ Log.e(LOGTAG, "getIOC:THREAD interrupted");
+ e.printStackTrace();
+ return null;
+ }
}
+ } else {
+ nIoC = mService.getIoC();
}
Log.e(LOGTAG, "GOT response of mService.getIoC");
if (nIoC != Integer.MAX_VALUE)
@@ -3321,23 +3330,27 @@
}
}
- if(isTransportLayerSMD() || isRomeChip() || isCherokeeChip()) {
+ if(isTransportLayerSMD() || isRomeChip() || isCherokeeChip) {
try {
- mService.getSINR();
- lastCmdSent = CMD_STNPARAM_SINR;
- Log.e(LOGTAG, "wait for response of mService.getSINR");
- synchronized (obj) {
- try {
- obj.wait();
- } catch (InterruptedException e) {
- Log.e(LOGTAG, "getSINR:THREAD interrupted");
- e.printStackTrace();
- return null;
+ if (isCherokeeChip) {
+ mService.getSINR();
+ lastCmdSent = CMD_STNPARAM_SINR;
+ Log.e(LOGTAG, "wait for response of mService.getSINR");
+ synchronized (obj) {
+ try {
+ obj.wait();
+ } catch (InterruptedException e) {
+ Log.e(LOGTAG, "getSINR:THREAD interrupted");
+ e.printStackTrace();
+ return null;
+ }
}
+ } else {
+ nSINR = mService.getSINR();
}
Log.e(LOGTAG, "Got response of mService.getSINR");
if (nSINR != Integer.MAX_VALUE) {
- result.setSINR(Integer.toString(nSINR));
+ result.setSINR(Integer.toString((byte)nSINR));
} else {
return null;
}
@@ -3362,17 +3375,21 @@
if(!isRomeChip()) {
try {
- mService.getIntDet();
- lastCmdSent = CMD_STNDBGPARAM_INFDETOUT;
- Log.e(LOGTAG, "wait for response of mService.getIntDet");
- synchronized (obj) {
- try {
- obj.wait();
- } catch (InterruptedException e) {
- Log.e(LOGTAG, "getIntDet:THREAD interrupted");
- e.printStackTrace();
- return null;
+ if (isCherokeeChip) {
+ mService.getIntDet();
+ lastCmdSent = CMD_STNDBGPARAM_INFDETOUT;
+ Log.e(LOGTAG, "wait for response of mService.getIntDet");
+ synchronized (obj) {
+ try {
+ obj.wait();
+ } catch (InterruptedException e) {
+ Log.e(LOGTAG, "getIntDet:THREAD interrupted");
+ e.printStackTrace();
+ return null;
+ }
}
+ } else {
+ nIntDet = mService.getIntDet();
}
Log.e(LOGTAG, "Got response of mService.getIntDet");
if (nIntDet != Integer.MAX_VALUE)