Merge "[Bugfix][T106BUG-57] Abnormal call status get during multiple calls"
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp
index 50e64ac..cdb28f1 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/cc.cpp
@@ -585,7 +585,6 @@
int sendDtmf(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
RLOGD("lynq this is function:%s,line%d",__FUNCTION__,__LINE__);
- #if LYNQ_CC_SUPPORT
android::Parcel p;
int number;
size_t pos = p.dataPosition();
@@ -610,20 +609,25 @@
writeStringToParcel(p, (const char *)argv[1]);
p.setDataPosition(pos);
-
+
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+ pRI->pCI->dispatchFunction(p, pRI);
+#else
dtmf_stop(dtmf_handle);
gint time_ms = 500;
if (pRI->pCI->requestNumber == RIL_REQUEST_DTMF_START) {
time_ms = 0;
}
+
RLOGD("request: %d, time_ms = %d", pRI->pCI->requestNumber, time_ms);
dtmf_handle = dtmf_start(number, time_ms, dtmf_volume, NULL);
pRI->pCI->dispatchFunction(p, pRI);
if (dtmf_handle == NULL)
RLOGE("[DTMF] dtmf_start return NULL!");
+
+#endif
+
return 0;
- #endif //LYNQ_CC_SUPPORT
- return 0;//LYNQ_CC_SUPPORT
}
//RIL_REQUEST_UDUB
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/data/data.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/data/data.cpp
index 673960a..fbeaefe 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/data/data.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/data/data.cpp
@@ -789,6 +789,7 @@
p.writeInt32(0);//status
p.writeInt32(-1);//suggestedRetryTime
p.writeInt32(lynq_apn_cid_table[i].cid);//cid
+ writeStringToParcel(p, lynq_apn_cid_table[i].ifaceName);//ifname
android::LYNQ_RIL_respSocket(p, (void *)pRI);
RLOGD("cid:%d,apn:%s,apntype:%s", lynq_apn_cid_table[i].cid, lynq_apn_cid_table[i].apn, lynq_apn_cid_table[i].apntype);
return -1;
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
index 975db3a..49363ad 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
@@ -1116,12 +1116,12 @@
int cid = -1;
int active = -1;
int utoken = -1;
- char ifaceName[LYNQ_IFACE_NAME_MAX_LEN];
- char type[LYNQ_TYPE_MAX_LEN];
- char addresses[LYNQ_ADDRESSES_MAX_LEN];
- char dnses[LYNQ_DNSES_MAX_LEN];
- char gateways[LYNQ_GATEWAYS_MAX_LEN];
- char pcscf[LYNQ_PCSCF_MAX_LEN];
+ char ifaceName[LYNQ_IFACE_NAME_MAX_LEN] = {0};
+ char type[LYNQ_TYPE_MAX_LEN] = {0};
+ char addresses[LYNQ_ADDRESSES_MAX_LEN] = {0};
+ char dnses[LYNQ_DNSES_MAX_LEN] = {0};
+ char gateways[LYNQ_GATEWAYS_MAX_LEN] = {0};
+ char pcscf[LYNQ_PCSCF_MAX_LEN] = {0};
char *tmp_msg = NULL;
int len = 0;
@@ -1197,16 +1197,19 @@
return error;
}
}
-//version != 0 || slot < 0, the cid out of lynq_apn_table, need add a new item
- p.readInt32(&active);
-
- tmp_msg = strdupReadString(p);
- len = strlen(tmp_msg);
- if(len < LYNQ_TYPE_MAX_LEN-1)
+//the cid out of lynq_apn_table, need add a new item
+ if(version != 0)
{
- memcpy(type,tmp_msg,len+1);
+ p.readInt32(&active);
+
+ tmp_msg = strdupReadString(p);
+ len = strlen(tmp_msg);
+ if(len < LYNQ_TYPE_MAX_LEN-1)
+ {
+ memcpy(type,tmp_msg,len+1);
+ }
+ free(tmp_msg);
}
- free(tmp_msg);
tmp_msg = strdupReadString(p);
len = strlen(tmp_msg);
if(len < LYNQ_IFACE_NAME_MAX_LEN-1)
@@ -1232,6 +1235,7 @@
*handle = lynq_data_call_id;
lynq_apn_table[lynq_data_call_id].cid = cid;
memcpy(lynq_apn_table[lynq_data_call_id].ifaceName, ifaceName, strlen(ifaceName) + 1);
+ memcpy(lynq_apn_table[lynq_data_call_id].apn, apn, strlen(apn) + 1);
memcpy(lynq_apn_table[lynq_data_call_id].apnType, apnType, strlen(apnType) + 1);
lynq_apn_table[lynq_data_call_id].hasUsed = 1;
printf_apn_table();
diff --git a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/platform/at_ctl/src/atctrl/at_rcvmsg.c b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/platform/at_ctl/src/atctrl/at_rcvmsg.c
index a5ed31c..7ca7391 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/platform/at_ctl/src/atctrl/at_rcvmsg.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/platform/at_ctl/src/atctrl/at_rcvmsg.c
@@ -1360,8 +1360,10 @@
char *pdu_data = NULL;
char *pend_ctrlz = NULL, *pend_esc = NULL;
int position = at_context_get_pos_by_fd(at_fd);
-
- at_print(AT_DEBUG,"rcv_at_str_proc recv fd:%d,len:%d,data:%s\n", at_fd, at_len, get_small_str(at_str));
+ //rita modify(add) for bug id 165/27 2023/9/12 start
+ //at_print(AT_DEBUG,"rcv_at_str_proc recv fd:%d,len:%d,data:%s\n", at_fd, at_len, get_small_str(at_str));
+ at_print(AT_DEBUG,"rcv_at_str_proc recv fd:%d,len:%d,data:%s\n", at_fd, at_len, at_str);
+ //rita modify(add) for bug id 165/27 2023/9/12 end
/*Óë֮ǰµÄ·Ö¶ÎAT×Ö·û´®½øÐд®Áª*/
if((whole_cmd_str = is_whole_atcmd(at_fd, at_str, at_len)) == NULL)
{
diff --git a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c
index 754aeec..4a62b1a 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/reference-ril.c
Binary files differ
diff --git a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_ref.c b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_ref.c
index 4bc6743..212c4f6 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_ref.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_ref.c
@@ -350,7 +350,7 @@
at_send_command("AT+COLP=0", NULL);
/* HEX character set */
- at_send_command("AT+CSCS=\"HEX\"", NULL);
+ at_send_command("AT+CSCS=\"GSM\"", NULL);
/* USSD unsolicited */
at_send_command("AT+CUSD=1", NULL);