[bugfix]api-100 api-117 api-118
Change-Id: I196f90a5722c83821761415a130750bbc0d9614b
diff --git a/framework/lynq-ril-service/src/data/data_gdbus.cpp b/framework/lynq-ril-service/src/data/data_gdbus.cpp
index cd62eb1..4b12ffd 100755
--- a/framework/lynq-ril-service/src/data/data_gdbus.cpp
+++ b/framework/lynq-ril-service/src/data/data_gdbus.cpp
@@ -61,6 +61,33 @@
GDBusProxy *proxy = NULL;
MTK_Data_Call_Response_v1 req_response;
MTK_Data_Call_Response_v1 urc_response;
+
+/*Warren add for t103 szzt atsvc 2022/1/5 start*/
+int lynqUpdateApnStatus(char *apn,char *apntype,int pdnState,char *ifname)
+{
+ char BUF[32] = {};
+ int len = -1;
+ if(pdnState==PDN_CONNECTED)
+ {
+ sprintf(BUF,"+LAPNST:%s,%s,%d,%s\n",apn,apntype,pdnState,ifname);
+ printf("eBuf:%s\n",BUF);
+ len = write(ttyGS3_fd,BUF,strlen(BUF));
+ }
+ else
+ {
+ sprintf(BUF,"+LAPNST:%s,%s,%d\n",apn,apntype,pdnState);
+ printf("eBuf:%s\n",BUF);
+ len = write(ttyGS3_fd,BUF,strlen(BUF));
+ }
+ if(len < 0)
+ {
+ perror("lynq resp write:");
+ return -1;
+ }
+ return 0;
+}
+/*Warren add for t103 szzt atsvc 2022/1/5 end*/
+
/*Warren add for t800 ril service 2021/12/25 start*/
int lynq_data_management(MTK_Data_Call_Response_v1 *urc_response)
{
@@ -91,6 +118,11 @@
apn_table[i].used=0;
apn_table[i].netId=0;
apn_count--;
+ int n = write(ttyGS3_fd,"OK\n",3);
+ if(n<0)
+ {
+ perror("lynq resp write:");
+ }
p.writeInt32 (1);
p.writeInt32 (LYNQ_URC_DATA_CALL_STATUS_IND);
p.writeInt32 (0);//temporary plan
@@ -126,6 +158,7 @@
apn_table[apn_count].used=1;
apn_table[apn_count].netId=urc_response->netId;
apn_count++;
+ lynqUpdateApnStatus(urc_response->apnName,urc_response->apnType,urc_response->pdnState,urc_response->ifname);
p.writeInt32(1);
p.writeInt32(LYNQ_URC_DATA_CALL_STATUS_IND);
p.writeInt32(0);//temporary plan
@@ -148,6 +181,7 @@
if(apn_table[i].netId!=urc_response->netId)
{
apn_table[i].netId=urc_response->netId;
+ lynqUpdateApnStatus(urc_response->apnName,urc_response->apnType,urc_response->pdnState,urc_response->ifname);
memcpy(iface_t,apn_table[i].ifaceName,strlen(apn_table[i].ifaceName)+1);
memcpy(apnType_t,apn_table[i].apntype,strlen(apn_table[i].apntype)+1);
memcpy(apn_t,apn_table[i].apn,strlen(apn_table[i].apn)+1);
@@ -197,6 +231,7 @@
apn_table[lable].used=1;
apn_table[lable].netId=urc_response->netId;
apn_count++;
+ lynqUpdateApnStatus(urc_response->apnName,urc_response->apnType,urc_response->pdnState,urc_response->ifname);
p.writeInt32(1);
p.writeInt32(LYNQ_URC_DATA_CALL_STATUS_IND);
p.writeInt32(0);//temporary plan
@@ -235,6 +270,7 @@
{
//sprintf(Buf,"+LAPNST:%s,%s,%d\n",apn_table[i].apn,apn_table[i].apntype,urc_response->pdnState);
//printf("Buf:%s\n",Buf);
+ lynqUpdateApnStatus(apn_table[i].apn,apn_table[i].apntype,urc_response->pdnState,NULL);
memcpy(iface_t,apn_table[i].ifaceName,strlen(apn_table[i].ifaceName)+1);
memcpy(apnType_t,apn_table[i].apntype,strlen(apn_table[i].apntype)+1);
memcpy(apn_t,apn_table[i].apn,strlen(apn_table[i].apn)+1);
@@ -426,6 +462,7 @@
return 1;
}
+
void proxy_signals_on_signal (GDBusProxy *proxy,
const gchar *sender_name,
const gchar *signal_name,