[Bugfix][DATA][API-1055][API-1067]Probabilistically, after deactivating all APNs, the reactivation fails 2
Change-Id: Ib93b3ea84e3cc165850fa57b38da927944203a08
(cherry picked from commit cb9ade51f4e5efae05fa1408bb1671feee4f692b)
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 d192b37..eed1798 100755
--- a/src/lynq/framework/lynq-ril-service/src/data/data.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/data/data.cpp
@@ -1056,6 +1056,7 @@
int deactivateDataCall(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
{
bool hasDeactivate = TRUE;
+ int err_code = 0;
Parcel p;
/*jb.qi change for swtich card after dial on 20221025 start*/
if((pRI == NULL) && (argc == 0))
@@ -1102,29 +1103,20 @@
}
if(hasDeactivate)
{
- p.writeInt32 (0);
- p.writeInt32 (pRI->pCI->requestNumber);
- p.writeInt32(socket_id);
- p.writeInt32 (2);//RIL_E_GENERIC_FAILURE
- android::LYNQ_RIL_respSocket(p, (void *)pRI);
- return -1;
+ err_code = 8087;//not have apn this has been activate int this time.
+ RLOGD("not have apn this has been activate int this time");
}
}
else
{
- p.writeInt32 (0);
- p.writeInt32 (pRI->pCI->requestNumber);
- p.writeInt32(socket_id);
- p.writeInt32 (2);//RIL_E_GENERIC_FAILURE
- re = deactivateDataCallarc(argc,argv,socket_id,pRI);//warren add for setup data call timeout on 20230602
- android::LYNQ_RIL_respSocket(p, (void *)pRI);
- return -1;
+ err_code = 8088;//not have any apns this has been activate int this time.
+ RLOGD("not have any apns this has been activate int this time");
}
re = deactivateDataCallarc(argc,argv,socket_id,pRI);
p.writeInt32 (0);
p.writeInt32 (pRI->pCI->requestNumber);
p.writeInt32(socket_id);
- p.writeInt32 (0);//RIL_E_GENERIC_FAILURE
+ p.writeInt32 (err_code);
android::LYNQ_RIL_respSocket(p, (void *)pRI);
if (pRI != NULL)
{
@@ -1148,22 +1140,14 @@
}
if(hasDeactivate)
{
- p.writeInt32 (0);
- p.writeInt32 (pRI->pCI->requestNumber);
- p.writeInt32(socket_id);
- p.writeInt32 (2);//RIL_E_GENERIC_FAILURE
- android::LYNQ_RIL_respSocket(p, (void *)pRI);
- return -1;
+ err_code = 8087;//not have apn this has been activate int this time.
+ RLOGD("not have apn this has been activate int this time");
}
}
else
{
- p.writeInt32 (0);
- p.writeInt32 (pRI->pCI->requestNumber);
- p.writeInt32(socket_id);
- p.writeInt32 (2);//RIL_E_GENERIC_FAILURE
- android::LYNQ_RIL_respSocket(p, (void *)pRI);
- return -1;
+ err_code = 8088;//not have any apns this has been activate int this time.
+ RLOGD("not have any apns this has been activate int this time");
}
char cmd[256];
getCellularService();
@@ -1176,7 +1160,7 @@
p.writeInt32 (0);
p.writeInt32 (pRI->pCI->requestNumber);
p.writeInt32(socket_id);
- p.writeInt32 (0);//RIL_E_GENERIC_FAILURE
+ p.writeInt32 (err_code);//RIL_E_GENERIC_FAILURE
android::LYNQ_RIL_respSocket(p, (void *)pRI);
/* no response from telecore, free pRI prevent memory leak */
if (pRI != NULL) {