Fix auto data call for ril v2
Change-Id: I753b1c8ac7bcbeabd316734b54b4e79224537dea
diff --git a/mbtk/libmbtk_lib_v2/common/mbtk_file.c b/mbtk/libmbtk_lib_v2/common/mbtk_file.c
index 44f3954..235ccd2 100755
--- a/mbtk/libmbtk_lib_v2/common/mbtk_file.c
+++ b/mbtk/libmbtk_lib_v2/common/mbtk_file.c
@@ -126,3 +126,73 @@
}
return result;
}
+
+/*===========================================================================
+FUNCTION file_link()
+
+DESCRIPTION:
+ Create soft link.
+
+PARAMETERS:
+ oldpath [IN]: Local original file,it may not exist.
+ newpath [IN]: Soft link file. If the file exists, it will be replaced.
+
+RETURN VALUE:
+ Return 0 if success,other for error.
+
+===========================================================================*/
+int file_link(const void* oldpath, const void* newpath)
+{
+ if(oldpath == NULL || newpath == NULL) {
+ LOGE("File not be NULL.");
+ return -1;
+ }
+
+ struct stat file_stat;
+ int ret = lstat((const char*)newpath, &file_stat);
+ if (ret) {
+ if (errno != ENOENT) {
+ LOGE("lstat(%s) fail:%d", (char*)newpath, errno);
+ return -1;
+ }
+
+ // Link file not exist, Create link file directly.
+ } else {
+ if (S_ISLNK(file_stat.st_mode)) {
+ // The file is a symbolic link
+ char buf[1024] = {0};
+ ssize_t len = readlink((char*)newpath, buf, sizeof(buf));
+ if (len == -1) {
+ LOGE("Error reading the link file, errno - %d", errno);
+ return -1;
+ }
+ buf[len] = '\0';
+ LOGD("Link target is: %s", buf);
+ if(strcmp(buf, (const char*)oldpath) == 0) {
+ LOGD("The link target is same,do nothing.");
+ return 0;
+ } else {
+ ret = unlink((const char*)newpath);
+ if(ret) {
+ LOGE("unlink(%s) fail:%d", (char*)newpath, errno);
+ return -1;
+ }
+
+ // Delete link file success.
+ }
+ } else {
+ LOGE("%s exist,but no link file.", (char*)newpath);
+ return -1;
+ }
+ }
+
+ // Start create link file.
+ ret = symlink((const char*)oldpath, (const char*)newpath);
+ if(ret){
+ LOGE("symlink(%s->%s) fail:%d", (char*)newpath, (const char*)newpath, errno);
+ return -1;
+ } else {
+ LOGE("symlink(%s->%s) success.", (char*)newpath, (const char*)newpath);
+ return 0;
+ }
+}
diff --git a/mbtk/libmbtk_lib_v2/ril/mbtk_ril_api.c b/mbtk/libmbtk_lib_v2/ril/mbtk_ril_api.c
index ae35fd4..c102991 100755
--- a/mbtk/libmbtk_lib_v2/ril/mbtk_ril_api.c
+++ b/mbtk/libmbtk_lib_v2/ril/mbtk_ril_api.c
@@ -118,7 +118,7 @@
static int ril_ind_process(ril_msg_pack_info_t* pack)
{
- LOGD("IND - %d", id2str(pack->msg_id));
+ LOGD("IND - %s", id2str(pack->msg_id));
if(pack->msg_id > RIL_MSG_ID_IND_BEGIN && pack->msg_id < RIL_MSG_ID_IND_END) {
if(ril_cli.cb[pack->msg_id - RIL_MSG_ID_IND_BEGIN - 1])
ril_cli.cb[pack->msg_id - RIL_MSG_ID_IND_BEGIN - 1](pack->data, pack->data_len);
diff --git a/mbtk/libmbtk_lib_v2/ril/ril_utils.c b/mbtk/libmbtk_lib_v2/ril/ril_utils.c
index 6928a1d..b77046f 100755
--- a/mbtk/libmbtk_lib_v2/ril/ril_utils.c
+++ b/mbtk/libmbtk_lib_v2/ril/ril_utils.c
@@ -268,12 +268,78 @@
// Call Information
case RIL_MSG_ID_CALL_STATE:
return "CALL_STATE";
+ case RIL_MSG_ID_CALL_START:
+ return "CALL_START";
+ case RIL_MSG_ID_CALL_ANSWER:
+ return "CALL_ANSWER";
+ case RIL_MSG_ID_CALL_HANGUP:
+ return "CALL_HANGUP";
+ case RIL_MSG_ID_CALL_HANGUP_A:
+ return "CALL_HANGUP_A";
+ case RIL_MSG_ID_CALL_HANGUP_B:
+ return "CALL_HANGUP_B";
+ case RIL_MSG_ID_CALL_HANGUP_C:
+ return "CALL_HANGUP_C";
+ case RIL_MSG_ID_CALL_WAITIN:
+ return "CALL_WAITIN";
+ case RIL_MSG_ID_CALL_MUTE:
+ return "CALL_MUTE";
+ case RIL_MSG_ID_CALL_DTMF:
+ return "CALL_DTMF";
// SMS Information
case RIL_MSG_ID_SMS_STATE:
return "SMS_STATE";
+ case RIL_MSG_ID_SMS_CMGF:
+ return "SMS_CMGF";
+ case RIL_MSG_ID_SMS_CPMS:
+ return "SMS_CPMS";
+ case RIL_MSG_ID_SMS_CMGS:
+ return "SMS_CMGS";
+ case RIL_MSG_ID_SMS_CMSS:
+ return "SMS_CMSS";
+ case RIL_MSG_ID_SMS_CMGR:
+ return "SMS_CMGR";
+ case RIL_MSG_ID_SMS_CMGW:
+ return "SMS_CMGW";
+ case RIL_MSG_ID_SMS_CMGD:
+ return "SMS_CMGD";
+ case RIL_MSG_ID_SMS_CMGL:
+ return "SMS_CMGL";
+ case RIL_MSG_ID_SMS_CSCA:
+ return "SMS_CSCA";
+ case RIL_MSG_ID_SMS_CSMP:
+ return "SMS_CSMP";
+ case RIL_MSG_ID_SMS_CSCB:
+ return "SMS_CSCB";
+ case RIL_MSG_ID_SMS_CNMI:
+ return "SMS_CNMI";
// PhoneBook Information
case RIL_MSG_ID_PB_STATE:
return "PB_STATE";
+ case RIL_MSG_ID_ECALL_MSDCFG:
+ return "ECALL_MSDCFG";
+ case RIL_MSG_ID_ECALL_MSDGEN:
+ return "ECALL_MSDGEN";
+ case RIL_MSG_ID_ECALL_MSD:
+ return "ECALL_MSD";
+ case RIL_MSG_ID_ECALL_PUSH:
+ return "ECALL_PUSH";
+ case RIL_MSG_ID_ECALL_ONLY:
+ return "ECALL_ONLY";
+ case RIL_MSG_ID_ECALL_REG:
+ return "ECALL_REG";
+ case RIL_MSG_ID_ECALL_DIAL:
+ return "ECALL_DIAL";
+ case RIL_MSG_ID_ECALL_MODE:
+ return "ECALL_MODE";
+ case RIL_MSG_ID_ECALL_CFG:
+ return "ECALL_CFG";
+ case RIL_MSG_ID_ECALL_SMS_NUM:
+ return "ECALL_SMS_NUM";
+ case RIL_MSG_ID_ECALL_MUTESPK:
+ return "ECALL_MUTESPK";
+ case RIL_MSG_ID_ECALL_DSP_GAIN:
+ return "ECALL_DSP_GAIN";
// IND Information
// <uint8> State
case RIL_MSG_ID_IND_SER_STATE_CHANGE:
@@ -299,6 +365,8 @@
// <uint8> State
case RIL_MSG_ID_IND_SIGNAL_STATE_CHANGE:
return "IND_SIGNAL_STATE";
+ case RIL_MSG_ID_IND_ECALL_STATE_CHANGE:
+ return "IND_ECALL_STATE_CHANGE";
default:
{
return "UNKNOWN";