Merge "[Feature][T800][PL][task-view-613] SDK ready upgrade"
diff --git a/common_src/framework/lynq-ril-service/src/ril.cpp b/common_src/framework/lynq-ril-service/src/ril.cpp
index e669a43..7a56fd4 100755
--- a/common_src/framework/lynq-ril-service/src/ril.cpp
+++ b/common_src/framework/lynq-ril-service/src/ril.cpp
@@ -210,13 +210,13 @@
     #define startRequest           sprintf(printBuf, "(")
     #define closeRequest           sprintf(printBuf, "%s)", printBuf)
     #define printRequest(token, req) if(enable_syslog) {         \
-        RLOGD("[%x]> %s %s", token, requestToString(req), printBuf);} else {\
+        RLOGI("[%x]> %s %s", token, requestToString(req), printBuf);} else {\
         printf("[%x]> %s %s\n", token, requestToString(req), printBuf);}
 
     #define startResponse           sprintf(printBuf, "%s {", printBuf)
     #define closeResponse           sprintf(printBuf, "%s}", printBuf)
     #define printResponse            if(enable_syslog) { \
-                                    RLOGD("%s", printBuf); } else { \
+                                    RLOGI("%s", printBuf); } else { \
                                     printf("%s\n", printBuf);}
 
     #define clearPrintBuf           printBuf[0] = 0
@@ -3017,71 +3017,71 @@
         startResponse;
 
 #ifdef TELEMATIC_5G_SUPPORT
-        appendPrintBuf("%s[GW_SS.signalStrength=%d,GW_SS.bitErrorRate=%d,GW_SS.timingAdvance=%d,\
-                CDMA_SS.dbm=%d,CDMA_SS.ecio=%d,\
-                EVDO_SS.dbm=%d,EVDO_SS.ecio=%d,EVDO_SS.signalNoiseRatio=%d,\
-                LTE_SS.signalStrength=%d,LTE_SS.rsrp=%d,LTE_SS.rsrq=%d,LTE_SS.rssnr=%d,LTE_SS.cqi=%d,LTE_SS.timingAdvance=%d,\
-                TDSCDMA_SS.signalStrength=%d,TDSCDMA_SS.bitErrorRate=%d,TDSCDMA_SS.rscp=%d,\
-                WCDMA_SS.signalStrength=%d,WCDMA_SS.bitErrorRate=%d,WCDMA_SS.rscp=%d,WCDMA_SS.ecno=%d,\
-                NR_SignalStrength.ssRsrp=%d,NR_SignalStrength.ssRsrq=%d,NR_SignalStrength.ssSinr=%d,\
-                NR_SignalStrength.csiRsrp=%d,NR_SignalStrength.csiRsrq=%d,NR_SignalStrength.csiSinr=%d]",
+        appendPrintBuf("%s[GW.rssi=%d,GW.bER=%d,GW.tA=%d,"
+                "W.rssi=%d,W.bER=%d,W.rscp=%d,W.ecno=%d,"                
+                "LTE.rssi=%d,LTE.rsrp=%d,LTE.rsrq=%d,LTE.rssnr=%d,LTE.cqi=%d,LTE.tA=%d,"                
+                "NR.ssRsrp=%d,NR.ssRsrq=%d,NR.ssSinr=%d,"
+                "NR.csiRsrp=%d,NR.csiRsrq=%d,NR.csiSinr=%d"
+                "CD.dbm=%d,CD.ecio=%d,"
+                "EV.dbm=%d,EV.ecio=%d,EV.SNR=%d,"
+                "TD.rssi=%d,TD.bER=%d,TD.rscp=%d]",                
                 printBuf,
                 p_cur->GW_SignalStrength.signalStrength,
                 p_cur->GW_SignalStrength.bitErrorRate,
                 p_cur->GW_SignalStrength.timingAdvance,
-                p_cur->CDMA_SignalStrength.dbm,
-                p_cur->CDMA_SignalStrength.ecio,
-                p_cur->EVDO_SignalStrength.dbm,
-                p_cur->EVDO_SignalStrength.ecio,
-                p_cur->EVDO_SignalStrength.signalNoiseRatio,
+                p_cur->WCDMA_SignalStrength.signalStrength,
+                p_cur->WCDMA_SignalStrength.bitErrorRate,
+                p_cur->WCDMA_SignalStrength.rscp,
+                p_cur->WCDMA_SignalStrength.ecno,               
                 p_cur->LTE_SignalStrength.signalStrength,
                 p_cur->LTE_SignalStrength.rsrp,
                 p_cur->LTE_SignalStrength.rsrq,
                 p_cur->LTE_SignalStrength.rssnr,
                 p_cur->LTE_SignalStrength.cqi,
-                p_cur->LTE_SignalStrength.timingAdvance,
-                p_cur->TD_SCDMA_SignalStrength.signalStrength,
-                p_cur->TD_SCDMA_SignalStrength.bitErrorRate,
-                p_cur->TD_SCDMA_SignalStrength.rscp,
-                p_cur->WCDMA_SignalStrength.signalStrength,
-                p_cur->WCDMA_SignalStrength.bitErrorRate,
-                p_cur->WCDMA_SignalStrength.rscp,
-                p_cur->WCDMA_SignalStrength.ecno,
+                p_cur->LTE_SignalStrength.timingAdvance,             
                 p_cur->NR_SignalStrength.ssRsrp,
                 p_cur->NR_SignalStrength.ssRsrq,
                 p_cur->NR_SignalStrength.ssSinr,
                 p_cur->NR_SignalStrength.csiRsrp,
                 p_cur->NR_SignalStrength.csiRsrq,
-                p_cur->NR_SignalStrength.csiSinr);
-#else
-        appendPrintBuf("%s[GW_SS.signalStrength=%d,GW_SS.bitErrorRate=%d,GW_SS.timingAdvance=%d,\
-                CDMA_SS.dbm=%d,CDMA_SS.ecio=%d,\
-                EVDO_SS.dbm=%d,EVDO_SS.ecio=%d,EVDO_SS.signalNoiseRatio=%d,\
-                LTE_SS.signalStrength=%d,LTE_SS.rsrp=%d,LTE_SS.rsrq=%d,LTE_SS.rssnr=%d,LTE_SS.cqi=%d,LTE_SS.timingAdvance=%d,\
-                TDSCDMA_SS.signalStrength=%d,TDSCDMA_SS.bitErrorRate=%d,TDSCDMA_SS.rscp=%d,\
-                WCDMA_SS.signalStrength=%d,WCDMA_SS.bitErrorRate=%d,WCDMA_SS.rscp=%d,WCDMA_SS.ecno=%d]",
-                printBuf,
-                p_cur->GW_SignalStrength.signalStrength,
-                p_cur->GW_SignalStrength.bitErrorRate,
-                p_cur->GW_SignalStrength.timingAdvance,
+                p_cur->NR_SignalStrength.csiSinr,
                 p_cur->CDMA_SignalStrength.dbm,
                 p_cur->CDMA_SignalStrength.ecio,
                 p_cur->EVDO_SignalStrength.dbm,
                 p_cur->EVDO_SignalStrength.ecio,
                 p_cur->EVDO_SignalStrength.signalNoiseRatio,
+                p_cur->TD_SCDMA_SignalStrength.signalStrength,
+                p_cur->TD_SCDMA_SignalStrength.bitErrorRate,
+                p_cur->TD_SCDMA_SignalStrength.rscp);
+#else
+       appendPrintBuf("%s[GW.rssi=%d,GW.bER=%d,GW.tA=%d,"
+                "W.rssi=%d,W.bER=%d,W.rscp=%d,W.ecno=%d,"                
+                "LTE.rssi=%d,LTE.rsrp=%d,LTE.rsrq=%d,LTE.rssnr=%d,LTE.cqi=%d,LTE.tA=%d,"                
+                "CD.dbm=%d,CD.ecio=%d,"
+                "EV.dbm=%d,EV.ecio=%d,EV.SNR=%d,"
+                "TD.rssi=%d,TD.bER=%d,TD.rscp=%d]",              
+                printBuf,
+                p_cur->GW_SignalStrength.signalStrength,
+                p_cur->GW_SignalStrength.bitErrorRate,
+                p_cur->GW_SignalStrength.timingAdvance,
+                p_cur->WCDMA_SignalStrength.signalStrength,
+                p_cur->WCDMA_SignalStrength.bitErrorRate,
+                p_cur->WCDMA_SignalStrength.rscp,
+                p_cur->WCDMA_SignalStrength.ecno,               
                 p_cur->LTE_SignalStrength.signalStrength,
                 p_cur->LTE_SignalStrength.rsrp,
                 p_cur->LTE_SignalStrength.rsrq,
                 p_cur->LTE_SignalStrength.rssnr,
                 p_cur->LTE_SignalStrength.cqi,
-                p_cur->LTE_SignalStrength.timingAdvance,
+                p_cur->LTE_SignalStrength.timingAdvance,                          
+                p_cur->CDMA_SignalStrength.dbm,
+                p_cur->CDMA_SignalStrength.ecio,
+                p_cur->EVDO_SignalStrength.dbm,
+                p_cur->EVDO_SignalStrength.ecio,
+                p_cur->EVDO_SignalStrength.signalNoiseRatio,
                 p_cur->TD_SCDMA_SignalStrength.signalStrength,
                 p_cur->TD_SCDMA_SignalStrength.bitErrorRate,
-                p_cur->TD_SCDMA_SignalStrength.rscp,
-                p_cur->WCDMA_SignalStrength.signalStrength,
-                p_cur->WCDMA_SignalStrength.bitErrorRate,
-                p_cur->WCDMA_SignalStrength.rscp,
-                p_cur->WCDMA_SignalStrength.ecno);
+                p_cur->TD_SCDMA_SignalStrength.rscp);
 #endif
         closeResponse;
 
@@ -6248,11 +6248,11 @@
                     //xy.he@20240524 modify for T8TSK-338 start
                     if(client_tmp->request != RIL_REQUEST_MODIFY_APN)
                     {
-                        RLOGD("[LYNQ socketId] utoken=%d,request=%d,len=%d,param=%s",client_tmp->uToken,client_tmp->request,client_tmp->paramLen,client_tmp->param);
+                        RLOGI("[LYNQ socketId] utoken=%d,request=%d,len=%d,param=%s",client_tmp->uToken,client_tmp->request,client_tmp->paramLen,client_tmp->param);
                     }
                     else
                     {
-                        RLOGD("[LYNQ socketId] utoken=%d,request=%d,len=%d,param=(has got)",client_tmp->uToken,client_tmp->request,client_tmp->paramLen);
+                        RLOGI("[LYNQ socketId] utoken=%d,request=%d,len=%d,param=(has got)",client_tmp->uToken,client_tmp->request,client_tmp->paramLen);
                         encode_log(client_tmp->param,6);
                     }
                     //xy.he@20240524 modify for T8TSK-338 end
@@ -6274,11 +6274,11 @@
                     {
                         if(strstr(argv[t],"password") != NULL)
                         {
-                            RLOGD("LYNQ_REQUEST argv[%d]=(has got)\n",t);
+                            RLOGI("LYNQ_REQUEST argv[%d]=(has got)\n",t);
                         }
                         else
                         {
-                            RLOGD("LYNQ_REQUEST argv[%d]=%s\n",t,argv[t]);
+                            RLOGI("LYNQ_REQUEST argv[%d]=%s\n",t,argv[t]);
                         }
                     }
                     //xy.he@20240524 modify for T8TSK-338 end
@@ -6376,18 +6376,16 @@
      return ;
 }
 int LYNQ_RIL_respSocket(Parcel &p,RIL_Token t)
-{
-    RLOGD("LYNQ_RIL_respSocket send start");
+{    
     ssize_t sent = 0;
     RequestInfo *pRI = (RequestInfo *)t;
+    RLOGI("LYNQ_RIL_respSocket token [%x] event %d app_token %d",pRI->token,pRI->lynqEvent,pRI->uToken);
     if(pRI->lynqEvent!=2)
-    {
-        RLOGD("this is internal event!!!");
+    {  
         return -1;
     }
     int dataSize = p.dataSize();
-    const uint8_t* data = p.data();
-    RLOGD("lynqSocketSend RESPONSE!!!! ");
+    const uint8_t* data = p.data();  
     sent = sendto(server_socket_fd, data, dataSize, 0, (struct sockaddr *)&pRI->uClient_addr, sizeof(pRI->uClient_addr));
     if( sent < 0 )
     {
@@ -6398,21 +6396,15 @@
     return 0;
 }
 int LYNQ_RIL_respSocket_sp(Parcel &p,RequestInfo *pRI)
-{
-    RLOGD("LYNQ_RIL_respSocket send start");
-    int ret =0;
-    bool sendResult =false;
-    ssize_t sent = 0;
-    uint8_t dataLength[4];
-    int verify = 0x55aa;
+{    
+    ssize_t sent = 0;   
+    RLOGI("LYNQ_RIL_respSocket token [%x] event %d app_token %d",pRI->token,pRI->lynqEvent,pRI->uToken);    
     int dataSize = p.dataSize();
     const uint8_t* data = p.data();
     if(pRI->lynqEvent!=2)
-    {
-        RLOGD("this is internal event!!!");
+    {        
         return -1;
-    }
-    RLOGD("lynqSocketSend RESPONSE!!!! ");
+    }  
 
     sent = sendto(server_socket_fd, data, dataSize, 0, (struct sockaddr *)&pRI->uClient_addr, sizeof(pRI->uClient_addr));
     if( sent < 0 )
@@ -6462,6 +6454,7 @@
 
 int LYNQ_RIL_urcBroadcast(Parcel &p, int urc_id)
 {
+    printResponse;
     RLOGD("LYNQ_RIL_urcBroadcast send start");
     int ret =0;   
     ssize_t sent = 0;   
diff --git a/common_src/lib/liblynq-call/lynq_call.cpp b/common_src/lib/liblynq-call/lynq_call.cpp
index 0b7e385..43936e7 100755
--- a/common_src/lib/liblynq-call/lynq_call.cpp
+++ b/common_src/lib/liblynq-call/lynq_call.cpp
@@ -1015,7 +1015,7 @@
     } 

     else 

     {

-        LYINFLOG("System uptime is less than 40 seconds.");

+        LYERRLOG("System uptime is less than 40 seconds.");

         FILE *fp = NULL;

         if(check_file_access(CALL_REBOOT_FLAG) != 0)

         {

@@ -1033,6 +1033,17 @@
     return 0;

 

 }

+

+int lynq_call_pre_confirm(int call_type)

+{

+    try_reset_audio_service();

+

+#ifdef GSW_RIL_CFG

+    call_boot_check();

+#endif

+    return RESULT_OK;

+}

+

 int lynq_call(int* handle,char addr[])

 {

     if(g_module_init_flag != MODULE_RUNNING)

@@ -1040,11 +1051,8 @@
         LYERRLOG("%s module state %d error",__func__,g_module_init_flag);

         return LYNQ_E_CONFLICT;

     }

-    try_reset_audio_service();

-

-#ifdef GSW_RIL_CFG

-    call_boot_check();

-#endif

+    

+    (void) lynq_call_pre_confirm(call_type_mo);

 

     int lynq_call_id = -1;

 

@@ -1111,6 +1119,8 @@
         return LYNQ_E_CONFLICT;

     }   

 

+    (void) lynq_call_pre_confirm(call_type_mt);

+

     Parcel* p=NULL;    

     int ret=lynq_send_common_request(p,g_wait_time,RIL_REQUEST_ANSWER,0,"");

     if(ret==RESULT_OK)

diff --git a/common_src/lib/liblynq-call/lynq_call_ecall.cpp b/common_src/lib/liblynq-call/lynq_call_ecall.cpp
index 3471245..ce60074 100755
--- a/common_src/lib/liblynq-call/lynq_call_ecall.cpp
+++ b/common_src/lib/liblynq-call/lynq_call_ecall.cpp
@@ -291,6 +291,8 @@
     RIL_ECall_Category ril_ecall_cat = lynq_get_ril_ecall_cat_from_lynq_cat(lynq_ecall_cat);

     char lynq_msd_data[MSD_MAX_LENGTH*2+1]={0};

     unsigned int i;          

+

+    (void) lynq_call_pre_confirm(call_type_mo);

    

     if(msd_length > MSD_MAX_LENGTH || msd_length <=0 || lynq_ecall_variant >=LYNQ_ECALL_MO_MAX)

     {

diff --git a/common_src/lib/liblynq-call/lynq_module_common.h b/common_src/lib/liblynq-call/lynq_module_common.h
index b82b2d8..471814f 100755
--- a/common_src/lib/liblynq-call/lynq_module_common.h
+++ b/common_src/lib/liblynq-call/lynq_module_common.h
@@ -92,6 +92,10 @@
 #define MODULE_SWITCHING  (1)

 #define MODULE_RUNNING (2)

 

+#define call_type_mo (0)

+#define call_type_mt (1)

+int lynq_call_pre_confirm(int call_type);

+

 extern int g_module_init_flag;

 

 #endif

diff --git a/common_src/lib/liblynq-network/lynq_network.cpp b/common_src/lib/liblynq-network/lynq_network.cpp
index 7b3f79e..525a74c 100755
--- a/common_src/lib/liblynq-network/lynq_network.cpp
+++ b/common_src/lib/liblynq-network/lynq_network.cpp
@@ -28,6 +28,9 @@
 /*For T800-API-1475, cfun 0 need 7s */

 #define WAIT_TIME_LENGTH_FOR_RADIO_ON (65) 

 

+#define WAIT_TIME_LENGTH_FOR_QUERY_AVAILABLE_NETWORK (600) 

+#define WAIT_TIME_LENGTH_FOR_SET_IMS (65) 

+

 #define SET_SBP_OPEN    " AT+ESBP=5,\"SBP_NRRC_BAR_CELL_WITH_CONNECTION_FAILURE\",1 "

 #define SET_SBP_CLOSE   " AT+ESBP=5,\"SBP_NRRC_BAR_CELL_WITH_CONNECTION_FAILURE\",0 "

 #define QUERY_SBP_STATUS    "AT+ESBP=7,\"SBP_NRRC_BAR_CELL_WITH_CONNECTION_FAILURE\""

@@ -405,6 +408,25 @@
     return RESULT_OK;  

 }

 

+int is_network_registed(char* network_status)

+{

+    if(strcmp(network_status , "registered") != 0 && strcmp(network_status , "current") !=0)  // add by hq on 18/09/2024 for bug-188, registered is for T800, current is for T106

+    {

+        return false;

+    }

+    return true;

+}

+

+int is_network_available(char* network_status)

+{

+    if(strcmp(network_status , "visible") != 0 && strcmp(network_status , "available") !=0)  // add by hq on 18/09/2024 for bug-188, visible is for T800, available is for T106

+    {

+        return false;

+    }

+    return true;

+}

+

+

 int lynq_query_available_network(char *OperatorFN,char *OperatorSH,char *MccMnc,char * NetStatus)

 {

     if(g_module_init_flag != MODULE_RUNNING)

@@ -419,7 +441,7 @@
     }  

 

     Parcel* p=NULL;

-    int ret=lynq_send_common_request(p,600,RIL_REQUEST_QUERY_AVAILABLE_NETWORKS,0,"");

+    int ret=lynq_send_common_request(p,WAIT_TIME_LENGTH_FOR_QUERY_AVAILABLE_NETWORK,RIL_REQUEST_QUERY_AVAILABLE_NETWORKS,0,"");

 

     if(ret!=RESULT_OK)

     {

@@ -429,34 +451,59 @@
 

     int num =p->readInt32();

     char *resp[LYNQ_RESP_STRING_MAX_NUM];

+    ret=RESULT_OK;

     if(num == 0 || num > LYNQ_RESP_STRING_MAX_NUM)

     {

-        LYERRLOG("no paramters or num %d too great",num);        

-        delete p;      

-        return LYNQ_E_INNER_ERROR;    

+        LYERRLOG("%s no paramters or num %d too great",__func__,num);              

+        ret=LYNQ_E_INNER_ERROR;    

     }else{

+        int string_index;

+        int network_index=-1;

         int i;

-        for(i = 0; i<num;i++)

+        for(string_index = 0; string_index<num;string_index++)

         {

-            resp[i] = lynqStrdupReadString(p);

+            resp[string_index] = lynqStrdupReadString(p);

+            if(string_index%4==3) // netstatus is the third word

+            {       

+                /*add by hq on 22/04/2024 for API-1575 */         

+                if(is_network_registed(resp[string_index])) 

+                {   

+                    network_index=string_index/4;                    

+                    break;

+                }  

+                else if(is_network_available(resp[string_index]))

+                {

+                    network_index=string_index/4;

+                }

+            }            

         }

-        if(NULL != resp[0])

+        if(network_index!=-1)

         {

-            strcpy(OperatorFN,resp[0]);

+            int start_index=network_index*4;

+            if(NULL != resp[start_index])

+            {

+                strcpy(OperatorFN,resp[start_index]);

+            }

+            if(NULL != resp[start_index+1])

+            {

+                strcpy(OperatorSH,resp[start_index+1]);

+            }

+            if(NULL != resp[start_index+2])

+            {

+                strcpy(MccMnc,resp[start_index+2]);

+            }

+            if(NULL != resp[start_index+3])

+            {

+                strcpy(NetStatus,resp[start_index+3]);

+            }

         }

-        if(NULL != resp[1])

+        else

         {

-            strcpy(OperatorSH,resp[1]);

+            LYERRLOG("%s no find available network after search %d information element",__func__,string_index);                    

+            ret=LYNQ_E_INNER_ERROR;    

         }

-        if(NULL != resp[2])

-        {

-            strcpy(MccMnc,resp[2]);

-        }

-        if(NULL != resp[3])

-        {

-            strcpy(NetStatus,resp[3]);

-        }

-        for(i = 0; i<num;i++)

+        

+        for(i = 0; i<=string_index;i++)

         {

             if(resp[i]!=NULL)

             {

@@ -464,9 +511,13 @@
             }            

         }

     }

-    delete p;

-    LYINFLOG("%s suc",__func__);   

-    return RESULT_OK;  

+    

+    delete p;    

+    if(ret==RESULT_OK)

+    {

+        LYINFLOG("%s suc",__func__);   

+    }    

+    return ret;  

 }

 

 int lynq_query_registration_state_from_parcel(Parcel* p, int num,int reject_index, int* regState,char * LAC,char * CID,int *netType,int *netRejected)

@@ -1184,7 +1235,7 @@
     }     

 

     Parcel* p=NULL;

-    int ret = lynq_send_common_request(p,65,RIL_REQUEST_SET_IMS_ENABLE,1,"%d",ims_mode);

+    int ret = lynq_send_common_request(p,WAIT_TIME_LENGTH_FOR_SET_IMS,RIL_REQUEST_SET_IMS_ENABLE,1,"%d",ims_mode);

     if(ret!=RESULT_OK)

     {

         LYERRLOG("%s call lynq_send_common_request failure, ret is %d",__func__,ret);

@@ -1204,48 +1255,45 @@
         LYERRLOG("%s module state %d error",__func__,g_module_init_flag);

         return LYNQ_E_CONFLICT;

     }

-    LYDBGLOG("start get urc info");

+    LYINFLOG("get urc info, handle is %d, slot is %d",handle,s_module_urc_slot_id);

     if(is_support_urc(handle)==false)

     {

-        LYINFLOG("invalid handle!!!");

+        LYERRLOG("not support handle!!!");

         return LYNQ_E_PARAMETER_ANONALY;

     }

     if((handle ==RIL_UNSOL_SIGNAL_STRENGTH && NULL == solSigStren) || 

         (handle !=RIL_UNSOL_SIGNAL_STRENGTH && NULL == slot_id))

     {

-        LYINFLOG("incoming solSigStren or slot_id is NULL!!!");

+        LYERRLOG("solSigStren or slot_id is NULL!!!");

         return LYNQ_E_PARAMETER_ANONALY;

+    }  

+

+    if(slot_id!=NULL)

+    {

+        *slot_id = s_module_urc_slot_id;

     }

-    switch(handle)

-    {        

-        case RIL_UNSOL_SIGNAL_STRENGTH: //1009

-        {

-            LYDBGLOG("get state update to signal info");

-            solSigStren->gw_sig_valid = s_network_urc_solSigStren.gw_sig_valid;

-            solSigStren->rssi = s_network_urc_solSigStren.rssi;

-            solSigStren->wcdma_signalstrength = s_network_urc_solSigStren.wcdma_signalstrength;

-            solSigStren->wcdma_sig_valid = s_network_urc_solSigStren.wcdma_sig_valid;

-            solSigStren->rscp = s_network_urc_solSigStren.rscp;

-            solSigStren->ecno = s_network_urc_solSigStren.ecno;

-            solSigStren->lte_signalstrength = s_network_urc_solSigStren.lte_signalstrength;

-            solSigStren->lte_sig_valid = s_network_urc_solSigStren.lte_sig_valid;

-            solSigStren->rsrp = s_network_urc_solSigStren.rsrp;

-            solSigStren->rsrq = s_network_urc_solSigStren.rsrq;

-            solSigStren->rssnr = s_network_urc_solSigStren.rssnr;

-            solSigStren->nr_sig_valid = s_network_urc_solSigStren.nr_sig_valid;

-            solSigStren->ssRsrp = s_network_urc_solSigStren.ssRsrp;

-            solSigStren->ssRsrq = s_network_urc_solSigStren.ssRsrq;

-            solSigStren->ssSinr = s_network_urc_solSigStren.ssSinr;

-            solSigStren->csiRsrp = s_network_urc_solSigStren.csiRsrp;

-            solSigStren->csiRsrq = s_network_urc_solSigStren.csiRsrq;

-            solSigStren->csiSinr = s_network_urc_solSigStren.csiSinr;

-            break;

-        }

-        default:

-        {

-            *slot_id = s_module_urc_slot_id;

-            LYINFLOG("slot_id = %d",s_module_urc_slot_id);

-		}

+  

+    if(handle==RIL_UNSOL_SIGNAL_STRENGTH)

+    {

+        LYDBGLOG("get state update to signal info");

+        solSigStren->gw_sig_valid = s_network_urc_solSigStren.gw_sig_valid;

+        solSigStren->rssi = s_network_urc_solSigStren.rssi;

+        solSigStren->wcdma_signalstrength = s_network_urc_solSigStren.wcdma_signalstrength;

+        solSigStren->wcdma_sig_valid = s_network_urc_solSigStren.wcdma_sig_valid;

+        solSigStren->rscp = s_network_urc_solSigStren.rscp;

+        solSigStren->ecno = s_network_urc_solSigStren.ecno;

+        solSigStren->lte_signalstrength = s_network_urc_solSigStren.lte_signalstrength;

+        solSigStren->lte_sig_valid = s_network_urc_solSigStren.lte_sig_valid;

+        solSigStren->rsrp = s_network_urc_solSigStren.rsrp;

+        solSigStren->rsrq = s_network_urc_solSigStren.rsrq;

+        solSigStren->rssnr = s_network_urc_solSigStren.rssnr;

+        solSigStren->nr_sig_valid = s_network_urc_solSigStren.nr_sig_valid;

+        solSigStren->ssRsrp = s_network_urc_solSigStren.ssRsrp;

+        solSigStren->ssRsrq = s_network_urc_solSigStren.ssRsrq;

+        solSigStren->ssSinr = s_network_urc_solSigStren.ssSinr;

+        solSigStren->csiRsrp = s_network_urc_solSigStren.csiRsrp;

+        solSigStren->csiRsrq = s_network_urc_solSigStren.csiRsrq;

+        solSigStren->csiSinr = s_network_urc_solSigStren.csiSinr;

     }        

     return RESULT_OK;   

 }