summaryrefslogtreecommitdiffstats
path: root/qcom
diff options
context:
space:
mode:
authorSatish kumar sugasi <ssugas@codeaurora.org>2016-01-27 14:45:45 -0800
committerSatish kumar sugasi <ssugas@codeaurora.org>2016-05-12 22:34:22 -0700
commitd8731b709019c2d20767b0242484e7c5eeeda861 (patch)
tree530fd0ea5f9e2cbb39e74cf97093f95972db7baf /qcom
parent10da44e93018b837b9388cf54f5bdb6583a2741e (diff)
downloadandroid_hardware_qcom_fm-d8731b709019c2d20767b0242484e7c5eeeda861.tar.gz
android_hardware_qcom_fm-d8731b709019c2d20767b0242484e7c5eeeda861.tar.bz2
android_hardware_qcom_fm-d8731b709019c2d20767b0242484e7c5eeeda861.zip
Add Support to enable ECC events and update in UI
This does enable ECC bit during RDS group processing and add logic to receive ECC events from SOC and sent the ECC code to application. Change-Id: I61687ea6fe041d2dc4aed16700632be5cdd781d8
Diffstat (limited to 'qcom')
-rw-r--r--qcom/fmradio/FmReceiver.java15
-rw-r--r--qcom/fmradio/FmReceiverJNI.java11
-rw-r--r--qcom/fmradio/FmRxEvCallbacks.java1
-rw-r--r--qcom/fmradio/FmRxEvCallbacksAdaptor.java1
-rw-r--r--qcom/fmradio/FmRxRdsData.java7
5 files changed, 35 insertions, 0 deletions
diff --git a/qcom/fmradio/FmReceiver.java b/qcom/fmradio/FmReceiver.java
index 95a8c5e..8e681e7 100644
--- a/qcom/fmradio/FmReceiver.java
+++ b/qcom/fmradio/FmReceiver.java
@@ -1600,6 +1600,21 @@ public class FmReceiver extends FmTransceiver
return mRdsData;
}
+ public FmRxRdsData getECCInfo() {
+ byte [] raw_ecc = new byte[STD_BUF_SIZE];
+ int ecc_code =0;
+ int bytes_read;
+
+ raw_ecc = FmReceiverJNI.getPsBuffer(raw_ecc);
+ bytes_read = raw_ecc[0];
+ Log.d (TAG, "bytes_read = " + bytes_read);
+ if (bytes_read > 0) {
+ ecc_code = raw_ecc[9] & 0xFF;
+ mRdsData.setECountryCode(ecc_code);
+ Log.d(TAG, "ECC code: " + ecc_code );
+ }
+ return mRdsData;
+ }
/*==============================================================
FUNCTION: getAFInfo
==============================================================*/
diff --git a/qcom/fmradio/FmReceiverJNI.java b/qcom/fmradio/FmReceiverJNI.java
index 1cafe37..d085476 100644
--- a/qcom/fmradio/FmReceiverJNI.java
+++ b/qcom/fmradio/FmReceiverJNI.java
@@ -113,6 +113,17 @@ class FmReceiverJNI {
Log.d(TAG, "RtCallback exit " );
}
+ public void EccCallback(byte[] ecc) {
+ Log.i(TAG, "EccCallback enter " );
+ if (ecc == null) {
+ Log.e(TAG, "ECC null return ");
+ return;
+ }
+ mRdsBuffer = Arrays.copyOf(ecc, ecc.length);
+ FmReceiver.mCallback.FmRxEvECCInfo();
+ Log.i(TAG, "EccCallback exit " );
+ }
+
public void PsInfoCallback(byte[] psInfo) {
Log.d(TAG, "PsInfoCallback enter " );
if (psInfo == null) {
diff --git a/qcom/fmradio/FmRxEvCallbacks.java b/qcom/fmradio/FmRxEvCallbacks.java
index 50d2fb2..267d73d 100644
--- a/qcom/fmradio/FmRxEvCallbacks.java
+++ b/qcom/fmradio/FmRxEvCallbacks.java
@@ -46,4 +46,5 @@ interface FmRxEvCallbacks {
public void FmRxEvRdsAfInfo();
public void FmRxEvRTPlus();
public void FmRxEvERTInfo();
+ public void FmRxEvECCInfo();
}
diff --git a/qcom/fmradio/FmRxEvCallbacksAdaptor.java b/qcom/fmradio/FmRxEvCallbacksAdaptor.java
index 458ff59..753d506 100644
--- a/qcom/fmradio/FmRxEvCallbacksAdaptor.java
+++ b/qcom/fmradio/FmRxEvCallbacksAdaptor.java
@@ -51,5 +51,6 @@ public class FmRxEvCallbacksAdaptor implements FmRxEvCallbacks {
public void FmRxEvRdsAfInfo() {};
public void FmRxEvRTPlus() {};
public void FmRxEvERTInfo() {};
+ public void FmRxEvECCInfo() {};
}
diff --git a/qcom/fmradio/FmRxRdsData.java b/qcom/fmradio/FmRxRdsData.java
index f0e5b9e..1f722f1 100644
--- a/qcom/fmradio/FmRxRdsData.java
+++ b/qcom/fmradio/FmRxRdsData.java
@@ -50,6 +50,7 @@ public class FmRxRdsData {
private int mPrgmId;
private int mPrgmType;
private int mFd;
+ private int mECountryCode;
/* V4L2 controls */
private static final int V4L2_CID_PRIVATE_BASE = 0x8000000;
@@ -216,6 +217,12 @@ public class FmRxRdsData {
public void setERadioText (String x) {
mERadioText = x;
}
+ public void setECountryCode(int x) {
+ mECountryCode = x;
+ }
+ public int getECountryCode() {
+ return mECountryCode;
+ }
public boolean getFormatDir() {
return formatting_dir;
}