libril: Add support for xmm7260 modem.
Change-Id: Ia3749bd4c43a2e233e722462dd6423fe8c692177
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
diff --git a/ril/Android.mk b/ril/Android.mk
index 09768bd..552477b 100644
--- a/ril/Android.mk
+++ b/ril/Android.mk
@@ -20,7 +20,7 @@
# libril
ifeq ($(BOARD_PROVIDES_LIBRIL),true)
-ifneq ($(filter xmm6262 xmm6360,$(BOARD_MODEM_TYPE)),)
+ifneq ($(filter xmm6262 xmm6360 xmm7260,$(BOARD_MODEM_TYPE)),)
include $(RIL_PATH)/xmm6262/libril/Android.mk
endif
ifeq ($(BOARD_MODEM_TYPE),xmm6260)
diff --git a/ril/xmm6262/libril/Android.mk b/ril/xmm6262/libril/Android.mk
index ce63313..520c247 100644
--- a/ril/xmm6262/libril/Android.mk
+++ b/ril/xmm6262/libril/Android.mk
@@ -19,6 +19,10 @@
LOCAL_CFLAGS :=
+ifeq ($(BOARD_MODEM_TYPE),xmm7260)
+LOCAL_CFLAGS += -DMODEM_TYPE_XMM7260
+endif
+
LOCAL_MODULE:= libril
include $(BUILD_SHARED_LIBRARY)
diff --git a/ril/xmm6262/libril/ril.cpp b/ril/xmm6262/libril/ril.cpp
index 733c9c1..795fcd6 100644
--- a/ril/xmm6262/libril/ril.cpp
+++ b/ril/xmm6262/libril/ril.cpp
@@ -633,6 +633,9 @@
int32_t sizeOfDial;
int32_t t;
int32_t uusPresent;
+#ifdef MODEM_TYPE_XMM7260
+ char *csv;
+#endif
status_t status;
memset (&dial, 0, sizeof(dial));
@@ -646,6 +649,25 @@
goto invalid;
}
+#ifdef MODEM_TYPE_XMM7260
+ /* CallDetails.call_type */
+ status = p.readInt32(&t);
+ if (status != NO_ERROR) {
+ goto invalid;
+ }
+ /* CallDetails.call_domain */
+ p.readInt32(&t);
+ if (status != NO_ERROR) {
+ goto invalid;
+ }
+ /* CallDetails.getCsvFromExtra */
+ csv = strdupReadString(p);
+ if (csv == NULL) {
+ goto invalid;
+ }
+ free(csv);
+#endif
+
if (s_callbacks.version < 3) { // Remove when partners upgrade to version 3
uusPresent = 0;
sizeOfDial = sizeof(dial) - sizeof(RIL_UUS_Info *);
@@ -1817,6 +1839,16 @@
p.writeInt32(p_cur->isMT);
p.writeInt32(p_cur->als);
p.writeInt32(p_cur->isVoice);
+
+#ifdef MODEM_TYPE_XMM7260
+ p.writeInt32(p_cur->isVideo);
+
+ /* Pass CallDetails */
+ p.writeInt32(0);
+ p.writeInt32(0);
+ writeStringToParcel(p, "");
+#endif
+
p.writeInt32(p_cur->isVoicePrivacy);
writeStringToParcel(p, p_cur->number);
p.writeInt32(p_cur->numberPresentation);
@@ -1845,6 +1877,11 @@
p_cur->als,
(p_cur->isVoice)?"voc":"nonvoc",
(p_cur->isVoicePrivacy)?"evp":"noevp");
+#ifdef MODEM_TYPE_XMM7260
+ appendPrintBuf("%s,%s,",
+ printBuf,
+ (p_cur->isVideo) ? "vid" : "novid");
+#endif
appendPrintBuf("%s%s,cli=%d,name='%s',%d]",
printBuf,
p_cur->number,