Merge "[Bugfix][T106BUG-488]fix netled error about data"
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 2522423..b05400c 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
@@ -56,6 +56,10 @@
/*Warren add forT800 platform 2021/12/25 start*/
#include "lynq_common.h"
#include "lynq_interface.h"
+#ifdef LED_SUPPORT
+#include "led.h"
+#include <include/lynq_uci.h>
+#endif
using android::Parcel;
/*Warren add for t800 ril service 2021/12/25 end*/
#undef LOG_TAG
@@ -153,6 +157,11 @@
#define IOT_DATAASST_PDN_APN_TYPE_NET_5 (0x04000000)
#define IOT_DATAASST_PDN_APN_TYPE_NET_6 (0x08000000)
+#ifdef LED_SUPPORT
+#define LED_ON 4
+#define LYNQ_UCI_SECTION "lynq_led"
+#define LYNQ_UCI_NETLED_KEY "lynq_netled_on"
+#endif
#define LEN 128
char line[LEN] = {0};
char csname[27] = {0};
@@ -1517,6 +1526,7 @@
void updateRILDataCallResponsev11(int num ,RIL_Data_Call_Response_v11* p_cur)
{
int i = 0;
+ int pdp_count = 0;
RLOGD("in updateRILDataCallResponsev11");
if(num != 1)
{
@@ -1575,6 +1585,21 @@
lynq_apn_cid_table[i].used,
lynq_apn_cid_table[i].address,
lynq_apn_cid_table[i].dialing);
+ if(lynq_apn_cid_table[i].cid != -1)
+ {
+ pdp_count++;
+ }
+ }
+ if(pdp_count == 1)
+ {
+#ifdef LED_SUPPORT
+ char netled_on[LED_ON] = "";
+ lynq_get_value(LYNQ_UCI_FILE, LYNQ_UCI_SECTION, LYNQ_UCI_NETLED_KEY, netled_on);
+ if(1 == atoi(netled_on))
+ {
+ mbtk_netled_state_update(GPIO_NETLED_PPP_CONNECT);
+ }
+#endif
}
}
//xf.li@20230610 add for T106 end
@@ -1647,6 +1672,7 @@
#ifdef MOBILETEK_TARGET_PLATFORM_T106
void handleUnsolDataCalllistChange(int num ,RIL_Data_Call_Response_v11* p_cur){
int i;
+ int pdp_count = 0;
RLOGD("num = %d, apn_count = %d", num, apn_count);
for(int j = 0; j < LYNQ_APN_CHANNEL_MAX; j++)
{
@@ -1719,6 +1745,21 @@
lynq_apn_cid_table[i].used,
lynq_apn_cid_table[i].address,
lynq_apn_cid_table[i].dialing);
+ if(lynq_apn_cid_table[i].cid != -1)
+ {
+ pdp_count++;
+ }
+ }
+ if(pdp_count == 0)
+ {
+#ifdef LED_SUPPORT
+ char netled_on[LED_ON] = "";
+ lynq_get_value(LYNQ_UCI_FILE, LYNQ_UCI_SECTION, LYNQ_UCI_NETLED_KEY, netled_on);
+ if(1 == atoi(netled_on))
+ {
+ mbtk_netled_state_update(GPIO_NETLED_PPP_CLOSED);
+ }
+#endif
}