[Bugfix][TAT-26][AT]The result of AT+LEAPNMOD is incomplete when the apn information is returned

Change-Id: I200ecd16fa969677a213610d3e8f4a13d74f1bf4
diff --git a/framework/lynq-ril-service/src/atci/ATCI.cpp b/framework/lynq-ril-service/src/atci/ATCI.cpp
index 6d5ecf5..a8f6188 100755
--- a/framework/lynq-ril-service/src/atci/ATCI.cpp
+++ b/framework/lynq-ril-service/src/atci/ATCI.cpp
@@ -479,7 +479,7 @@
 }
 static int atci_send_data(char *data)
 {
-    char buf[128];
+    char buf[256];
     int data_len = 0;
     memset(buf, 0, sizeof(buf));
     if(NULL == data)
@@ -490,10 +490,10 @@
     else
     {
         data_len = strlen(data);
-        if(data_len > 122)// \r\n + \r\n\0
+        if(data_len > 252)// \r\n + \r\n\0
         {
             RLOGD("data too long");
-            snprintf(buf,127,"\r\n%s\r\n",data);
+            snprintf(buf,252,"\r\n%s\r\n",data);
         }
         else
         {
diff --git a/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp b/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp
index f01c341..e9b67f0 100755
--- a/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp
+++ b/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.cpp
@@ -25,6 +25,9 @@
 #define LINE __LINE__
 #define FUNC __FUNCTION__
 #define SET_DEFAULT_SIM_ALL -1
+
+int g_flag_apn = 0;
+
 atci_cmd_type_t atci_data_cmd_table[] = {
 //cmd_name      target_type        handler
     { "AT+LAPNACT", TARGET_TELEPHONY, atci_data_enable_pdp_hdlr },            //AT command to enable defult PDP
@@ -574,6 +577,7 @@
                 argv[0] = reqStr;
                 argc = 3;
                 sendAtciRequest(req.request_id, reqStr, argc, argv);
+                g_flag_apn = 1;
             }
             else if (state == 1)
             {
diff --git a/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.h b/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.h
index 61ecb08..09a030f 100755
--- a/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.h
+++ b/framework/lynq-ril-service/src/atci/atci_lynq_data_cmd.h
@@ -11,6 +11,8 @@
 #ifndef __ATCI_LYNQ_DATA_CMD_H__
 #define __ATCI_LYNQ_DATA__CMD_H__
 
+extern int g_flag_apn;
+
 int atci_lynq_data_init(void *arg);
 int atci_data_enable_pdp_hdlr(char *cmd, int op_type, int target, char *response);
 int atci_data_enable_pdp_with_apn_hdlr(char *cmd, int op_mode, int target, char *response);
diff --git a/framework/lynq-ril-service/src/data/data_gdbus.cpp b/framework/lynq-ril-service/src/data/data_gdbus.cpp
index 5e4f8f5..de2d478 100755
--- a/framework/lynq-ril-service/src/data/data_gdbus.cpp
+++ b/framework/lynq-ril-service/src/data/data_gdbus.cpp
@@ -49,6 +49,7 @@
 #include "lynq_interface.h"
 #include <binder/Parcel.h>
 #include "ATCI.h"
+#include "atci_lynq_data_cmd.h"
 #ifdef LED_SUPPORT
 #include "led.h"
 #endif
@@ -427,9 +428,12 @@
     printf("modify apn db success, return message: %s\n", ((reason == NULL)? "":reason));
     //printf("modifyApnDB_method_cb reason %s\n", ((reason == NULL)? "":reason));
     /*lei add for AT+LEAPNMOD*/
-    char apn_buf[1024];
-    sprintf(apn_buf, "+LEAPNMOD:%s", ((reason == NULL)? "":reason));
-    ATCIResponseNoToken(0, apn_buf, 666);//tmp plan
+    if(g_flag_apn)
+    {
+        char apn_buf[256];
+        sprintf(apn_buf, "+LEAPNMOD:%s", ((reason == NULL)? "":reason));
+        ATCIResponseNoToken(0, apn_buf, 666);//tmp plan
+    }
     /*lei add for AT+LEAPNMOD*/
     g_variant_unref(result);
     lynq_data_modify_apn(reason,LYNQ_URC_MODIFY_APNDB);