[Feature][API-648]switch card fail after pdp actice
Change-Id: I656c972d563094d9f31b86d3be89d23b6e613463
diff --git a/src/lynq/framework/lynq-ril-service/src/data/data.cpp b/src/lynq/framework/lynq-ril-service/src/data/data.cpp
index 9d5eb1a..9a06968 100755
--- a/src/lynq/framework/lynq-ril-service/src/data/data.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/data/data.cpp
@@ -764,6 +764,22 @@
int setupDataCall(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
Parcel p;
+ /*jb.qi change for switch card after dial on 20221025 start*/
+ if((argc == 0) && (pRI == NULL))
+ {
+ printf("pRI is null, argc is zero !!!\n");
+ char cmd[256];
+ getCellularService();
+ findCellularName(line);
+ sprintf(cmd, "connmanctl connect %s", csname);
+ int ret = system(cmd);
+ memset(line, LEN*sizeof(char), 0);
+ memset(line, 27*sizeof(char), 0);
+ updataDataConnectState(get_default_sim_data(), true);
+ /* no response from telecore, free pRI prevent memory leak */
+ return ret;
+ }
+ /*jb.qi change for switch card after dial on 20221025 end*/
if(argc > 2)
{
/*Warren add for t800 ril service 2021/12/25 start*/
@@ -1041,6 +1057,31 @@
{
bool hasDeactivate = TRUE;
Parcel p;
+ /*jb.qi change for swtich card after dial on 20221025 start*/
+ if((pRI == NULL) && (argc == 0))
+ {
+ for(int i = 0;i< LYNQ_APN_CHANNEL_MAX;i++)
+ {
+ memset(apn_table[i].apntype,0,sizeof(apn_table[i].apntype));
+ memset(apn_table[i].ifaceName,0,sizeof(apn_table[i].ifaceName));
+ memset(apn_table[i].apn,0,sizeof(apn_table[i].apn));
+ apn_table[i].apnstatus = 0;
+ apn_table[i].netId = 0;
+ apn_table[i].used = 0;
+ }
+ apn_count = 0;
+ printf("pRI is null, argc is zero !!!\n");
+ char cmd[256];
+ getCellularService();
+ findCellularName(line);
+ sprintf(cmd, "connmanctl disconnect %s", csname);
+ int ret = system(cmd);
+ memset(line, LEN*sizeof(char), 0);
+ memset(line, 27*sizeof(char), 0);
+ updataDataConnectState(get_default_sim_data(), false);
+ return ret;
+ }
+ /*jb.qi change for swtich card after dial on 20221025 end*/
if(argc == 2)
{
char* apnType = argv[1];