[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,
diff --git a/framework/lynq-ril-service/src/lynq_common.cpp b/framework/lynq-ril-service/src/lynq_common.cpp
index 30f8b7b..f1b92ae 100755
--- a/framework/lynq-ril-service/src/lynq_common.cpp
+++ b/framework/lynq-ril-service/src/lynq_common.cpp
@@ -185,18 +185,25 @@
lynqSetArgv(&(argv[2]),&Point,"0");
token = strtok(str, "=");
//argv[0] = token;
- argv[0] = strstr(token, "+")+1;
- while (token != NULL)
+ if(strstr(token, "+"))
{
- string = token;
- token = strtok(NULL, "=");
+ argv[0] = strstr(token, "+")+1;
+ while (token != NULL)
+ {
+ string = token;
+ token = strtok(NULL, "=");
+ }
+ parameter = strtok(string, ",");
+ int i = 3;
+ while (parameter != NULL)
+ {
+ argv[i++] = parameter;
+ parameter = strtok(NULL, ",");
+ }
}
- parameter = strtok(string, ",");
- int i = 3;
- while (parameter != NULL)
+ else
{
- argv[i++] = parameter;
- parameter = strtok(NULL, ",");
+ argv[0] = token;
}
}
else if(strstr(cmd,"?"))
@@ -275,11 +282,6 @@
argv[3] = test+3;
return 4;
}
- else if(!strncmp(cmd, "ATSO", 4)){
- lynqSetArgv(&(argv[0]),&Point,"ATSO");
- argv[3] = test+4;
- return 4;
- }
else if(!strncmp(cmd, "ATS3", 4)){
lynqSetArgv(&(argv[0]),&Point,"ATS3");
argv[3] = test+4;
@@ -493,6 +495,7 @@
new_argv[0] = (char *)rilReq;
new_argv[1] = argv[3];
android::lynqSendToRil(2,new_argv,uToken);
+ syncRespToUsb(0);
return 0;
}
diff --git a/framework/lynq-ril-service/src/ril.cpp b/framework/lynq-ril-service/src/ril.cpp
index 9a8ca4a..b66757c 100755
--- a/framework/lynq-ril-service/src/ril.cpp
+++ b/framework/lynq-ril-service/src/ril.cpp
@@ -5812,7 +5812,7 @@
RLOGD("REQUEST: %s ParamterNum:%d", requestToString(request), argc);
RequestInfo *pRI = creatRILInfoAndInit(request, UDP, (RIL_SOCKET_ID)(id));
pRI->uToken = client_tmp->uToken;
- pRI->lynqEvent = 1;
+ pRI->lynqEvent = 2;
pRI->uClient_addr.sin_family = lynqClient_addr.sin_family;
pRI->uClient_addr.sin_addr.s_addr = lynqClient_addr.sin_addr.s_addr;
pRI->uClient_addr.sin_port = lynqClient_addr.sin_port;
@@ -5850,7 +5850,7 @@
uint8_t dataLength[4];
int verify = 0x55aa;
RequestInfo *pRI = (RequestInfo *)t;
- if(pRI->lynqEvent!=1)
+ if(pRI->lynqEvent!=2)
{
RLOGD("this is internal event!!!");
return -1;
@@ -5877,7 +5877,7 @@
int verify = 0x55aa;
int dataSize = p.dataSize();
const uint8_t* data = p.data();
- if(pRI->lynqEvent!=1)
+ if(pRI->lynqEvent!=2)
{
RLOGD("this is internal event!!!");
return -1;