[Feature][T800][PL][task-view-613] SDK ready upgrade

Only Configure: No
Affected branch: master
Affected module: PL
Is it affected on both ZXIC and MTK: both
Self-test: yes
Doc Update: yes

Change-Id: Iba56399ff28937b03c7f7a058e9710411887e4d3
diff --git a/common_src/framework/lynq-ril-service/src/ril.cpp b/common_src/framework/lynq-ril-service/src/ril.cpp
index 9b5fcc7..e669a43 100755
--- a/common_src/framework/lynq-ril-service/src/ril.cpp
+++ b/common_src/framework/lynq-ril-service/src/ril.cpp
@@ -170,6 +170,8 @@
 #define LYNQ_SERVICE_PORT 8088
 #define LYNQ_AT_SERVICE_PORT 8087
 #define LYNQ_BRODCAST_PORT 8086
+#define LYNQ_SDK_READY_IP "127.0.0.1"
+#define LYNQ_SDK_READY_PORT 8157
 #ifdef GSW_RIL_CFG 
 /*Interfaces lo net addr 127.0.0.1,mask 255.0.0.0,so lo broadcast addr is 127.255.255.255*/
 #define LYNQ_RIL_FWK_BROADCAST_IP "127.255.255.255" /*hong.liu change broadcast addr on 2024.2.18*/
@@ -4190,6 +4192,27 @@
     }
 }
 
+int lynq_send_ril_restart()
+{
+    RLOGD("lynq send ril restart");
+    struct sockaddr_in sdk_ready_addr;
+    char BUF[8] = {0};
+    ssize_t sent = 0;
+    memset(&sdk_ready_addr,0,sizeof(sdk_ready_addr));
+    sdk_ready_addr.sin_family = AF_INET;        //IPv4
+    sdk_ready_addr.sin_port = htons(LYNQ_SDK_READY_PORT);
+    sdk_ready_addr.sin_addr.s_addr = inet_addr(LYNQ_SDK_READY_IP);
+    sprintf(BUF,"%d",RIL_UNSOL_TELEPHONY_RESTART);
+    BUF[4]='\0';
+    sent = sendto(lynq_urc_socket_fd,BUF,8,0, (struct sockaddr *)&sdk_ready_addr, sizeof(sdk_ready_addr));
+    if( sent < 0 )
+    {
+        RLOGE("LYNQ_RIL_urcBroadcast send datalen fail (sent=%d, sendFD=%d)",sent,lynq_urc_socket_fd);
+        return -1;
+    }
+    return 0;
+}
+
 static void lynq_get_sim_state(RIL_CardStatus_v6 *card_status)
 {
     g_lynq_sim_state = card_status->card_state;
@@ -4971,6 +4994,11 @@
         handleRingbackTone(data, datalen, soc_id);
         break;
     }
+    case RIL_UNSOL_TELEPHONY_RESTART:
+    {
+        lynq_send_ril_restart();
+        break;
+    }
     default:
         break;
     }