summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2015-01-01 19:00:04 +0100
committerEthan Chen <intervigil@gmail.com>2015-03-16 12:09:25 -0700
commit29472681221cd610b2e04d32498201dda41c1bd3 (patch)
treef63f997dace9a35b75cad6015334bbee03f26087
parent3ff947b8d35a20a47313ca7bd833981788cc5086 (diff)
downloadandroid_hardware_samsung-29472681221cd610b2e04d32498201dda41c1bd3.tar.gz
android_hardware_samsung-29472681221cd610b2e04d32498201dda41c1bd3.tar.bz2
android_hardware_samsung-29472681221cd610b2e04d32498201dda41c1bd3.zip
libril: Add support for xmm7260 modem.
Change-Id: Ia3749bd4c43a2e233e722462dd6423fe8c692177 Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
-rw-r--r--ril/Android.mk2
-rw-r--r--ril/xmm6262/libril/Android.mk4
-rw-r--r--ril/xmm6262/libril/ril.cpp37
3 files changed, 42 insertions, 1 deletions
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 @@ ifeq ($(BOARD_VENDOR),samsung)
# 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_SHARED_LIBRARIES := \
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 @@ dispatchDial (Parcel &p, RequestInfo *pRI) {
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 @@ dispatchDial (Parcel &p, RequestInfo *pRI) {
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 @@ static int responseCallList(Parcel &p, void *response, size_t responselen) {
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 @@ static int responseCallList(Parcel &p, void *response, size_t responselen) {
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,