[Bugfix][T106BUG-489][AUTOSUSPEND]add sleep notice to lynq-ril-service

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

Change-Id: I93653174a68c86fdaa1e0ba494dfc875657478a4
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h
index 384f916..168d776 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/commands.h
@@ -205,6 +205,7 @@
     {"LYNQ_REQUEST_LIST_SMS_FROM_MEMORY",listSmsToMemory, "write sms to memory",LYNQ_REQUEST_LIST_SMS_FROM_MEMORY},
     {"LYNQ_REQUEST_CHANGE_SCREEN_STATE",getScreenState,"lynq get Screen State",LYNQ_REQUEST_CHANGE_SCREEN_STATE},/*jb.qi change for two sim suspend 2022/9/19 */
     {"LYNQ_REQUEST_CHANGE_RADIO",setRadioPower,"setRadioPower",LYNQ_REQUEST_CHANGE_RADIO},/*lei add for both radio on/off */
+    {"LYNQ_REQUEST_CHANGE_SLEEP_STATE",getSleepState,"lynq get Sleep State",LYNQ_REQUEST_CHANGE_SLEEP_STATE},/*jb.qi change for suspend 2024/2/23 */
     /*Warren change for t800 ril service 2022/1/18 end*/
 
     #ifdef C2K_SUPPORT
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/lynq_interface.h b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/lynq_interface.h
index 4a94b10..95a50ce 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/lynq_interface.h
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/lynq_interface.h
@@ -23,6 +23,8 @@
 #define LYNQ_REQUEST_OOS_DEEP_SLEEP_RECOVER_TIMER_INTERVAL (LYNQ_REQUEST_VENDOR_BASE +13)
 #define LYNQ_REQUEST_CHANGE_SCREEN_STATE (LYNQ_REQUEST_VENDOR_BASE + 14)/*jb.qi add for two sim suspend 2022/9/19*/
 #define LYNQ_REQUEST_CHANGE_RADIO (LYNQ_REQUEST_VENDOR_BASE + 15)
+#define LYNQ_REQUEST_CHANGE_SLEEP_STATE (LYNQ_REQUEST_VENDOR_BASE + 16)/*jb.qi change for suspend 2024/2/23 start*/
+
 #ifdef ECALL_SUPPORT
 #define RIL_UNSOL_ECALL_T2_TIMER_OUT  9000
 #define RIL_UNSOL_ECALL_T5_TIMER_OUT  9001
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h
index d4a1fdb..2d17ee3 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/mtk_ril_commands.h
@@ -35,6 +35,7 @@
 
 { RIL_REQUEST_SET_TRM, dispatchInts, responseVoid},
 { RIL_REQUEST_SET_IMS_ENABLE,dispatchInts,responseVoid},
+{ LYNQ_REQUEST_CHANGE_SLEEP_STATE,dispatchInts,responseVoid},/*jb.qi change for suspend 2024/2/23 start*/
 //eCall
 #ifdef ECALL_SUPPORT
 { RIL_REQUEST_ECALL_FAST_MAKE_ECALL,dispatchFastEcall,responseVoid},
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
index 4c51a16..0f5785c 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
@@ -5268,6 +5268,7 @@
         case LYNQ_REQUEST_CHANGE_RADIO:return "LYNQ_REQUEST_CHANGE_RADIO";/*lei add for factory test of sleep 2022/9/19*/
         case RIL_REQUEST_GET_MSISDN:return "RIL_REQUEST_GET_MSISDN";
         case RIL_REQUEST_RESET_SIMCARD:return "RIL_REQUEST_RESET_SIMCARD";
+        case LYNQ_REQUEST_CHANGE_SLEEP_STATE: return "LYNQ_REQUEST_CHANGE_SLEEP_STATE";/*jb.qi change for suspend 2024/2/23 */
         /*warren add for t800 ril service 2022/1/22 end*/
         default: return "<unknown request>";
     }
@@ -5537,6 +5538,7 @@
         case LYNQ_REQUEST_SET_DEFAULT_SIM_ALL:return "SET_DEFAULT_SIM_ALL";
         case LYNQ_REQUEST_CHANGE_SCREEN_STATE:return "LYNQ_REQUEST_CHANGE_SCREEN_STATE";/*jb.qi add for two sim sleep 2022/9/19*/
         case LYNQ_REQUEST_CHANGE_RADIO:return "LYNQ_REQUEST_CHANGE_RADIO";/*lei add for factory test of sleep 2022/9/19*/
+        case LYNQ_REQUEST_CHANGE_SLEEP_STATE:return "LYNQ_REQUEST_CHANGE_SLEEP_STATE";/*jb.qi add for two sim sleep 2022/9/19*/
         case RIL_REQUEST_GET_MSISDN: return "GET MSISDN";
         case RIL_REQUEST_RESET_SIMCARD: return "RESET SIMCARD";
         /*warren add for t800 ril service 2022/1/22 end*/
@@ -6243,7 +6245,7 @@
                     waitResponse(waittoken);
                     memset(Time_buf,0,sizeof(Time_buf));
                     GetTimeString(Time_buf);
-                    FUNCTION_RETURN(Time_buf,requestToString(request));          
+                    FUNCTION_RETURN(Time_buf,requestToString(request));
                     bzero(buffer, LYNQ_SOCKET_BUFFER);
 
                 }
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.cpp
index 6a7c251..0a66abf 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.cpp
@@ -111,7 +111,7 @@
     lynq_get_value(LYNQ_UCI_FILE, LYNQ_UCI_SECTION, LYNQ_UCI_NETLED_KEY, netled_on);
     if(!atoi(netled_on))
         return -1;
-    mbtk_netled_state_update(screen_state==0 ? GPIO_NETLED_AP_GOINGSLEEP : GPIO_NETLED_AP_WAKEUP);	
+    mbtk_netled_state_update(screen_state==0 ? GPIO_NETLED_AP_GOINGSLEEP : GPIO_NETLED_AP_WAKEUP);
     usleep(wait_led_update_effective_timer_ms*1000);
 #endif
 
@@ -120,6 +120,37 @@
     return 0;
 }
 
+/*jb.qi change for suspend 2024/2/23 start*/
+int getSleepState(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
+{
+    RLOGD("start getSleepState\n");
+    android::Parcel p;
+    int sent;
+    p.writeInt32(0);
+    p.writeInt32(pRI->uToken);
+    p.writeInt32(pRI->pCI->requestNumber);
+    p.writeInt32(socket_id);
+    p.writeInt32(0);//error
+    int sleep_state= atoi(argv[1]);
+    if(sleep_state == 0)
+    {
+        RLOGD("start to sleep\n");
+    }
+    else if(sleep_state ==1)
+    {
+        RLOGD("start to resume\n");
+    }
+    else
+    {
+        return -1;
+    }
+    android::LYNQ_RIL_respSocket(p, (void *)pRI);
+    free(pRI);
+    return 0;
+
+}
+/*jb.qi change for suspend 2024/2/23 end*/
+
 //RIL_REQUEST_SET_TRM
 int setTRM(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI)
 {
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.h b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.h
index b96b5ec..da9e083 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.h
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/stateManager/stateManager.h
@@ -36,7 +36,7 @@
 #define __RIL_STAM__
 #include  <vendor-ril/telephony/ril.h>
 #include  "common.h"
-
+int getSleepState(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);/*jb.qi change for suspend 2024/2/23 */
 int getDeviceIdentity(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
 int getIMEI(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
 int getIMEISV(int argc, char **argv, RIL_SOCKET_ID socket_id, RequestInfo *pRI);
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h b/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h
index bf271f1..8bf9069 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-sim/include/lynq_sim.h
@@ -27,6 +27,9 @@
 int lynq_query_phone_number(char buf[]);
 int lynq_switch_card(int slot);
 int lynq_screen(int num);
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+int lynq_sleep_status(int sleep_state);
+#endif
 int lynq_get_imei(char buf[]);
 int lynq_get_imei_and_sv(char imei[],char sv[]);
 
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-sim/makefile b/cap/zx297520v3/src/lynq/lib/liblynq-sim/makefile
index 219bda7..0eafd49 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-sim/makefile
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-sim/makefile
@@ -17,6 +17,10 @@
 LOCAL_CFLAGS += -DBINDER_IPC_32BIT=1 -DHAVE_ENDIAN_H -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DHAVE_POSIX_FILEMAP -DHAVE_STRLCPY -DHAVE_PRCTL -DHAVE_MEMSET16 -DHAVE_MEMSET32 -DANDROID_SMP=0 -DMOBILETEK_TARGET_PLATFORM_T106 -Wl,-Bsymbolic
 endif
 
+ifeq ($(strip $(TARGET_PLATFORM)), T106)
+    LOCAL_CFLAGS += -DMOBILETEK_TARGET_PLATFORM_T106
+endif
+
 $(warning ################# lynq sim ROOT: $(ROOT),includedir:$(includedir))
 LOCAL_PATH   = .
 
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
index 75a1d0b..cfddb6c 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
@@ -29,6 +29,8 @@
 #define LYNQ_REQUEST_SET_DEFAULT_SIM_ALL 8008
 #define LYNQ_REQUEST_CHANGE_SCREEN_STATE 8014 /*add for two sim suspend on 20220919*/
 #define LYNQ_REQUEST_CHANGE_RADIO 8015
+#define LYNQ_REQUEST_CHANGE_SLEEP_STATE 8016
+
 #define MAX_LEN 1024*8
 #define MAX_NUM 10
 #define LOG_TAG "LYNQ_SIM"
@@ -44,7 +46,7 @@
     char param[MAX_LEN];
 }lynq_client_t;
 
-/* socket文件描述符 */ 
+/* socket file descriptor*/ 
 int len_addr_serv;
 struct sockaddr_in addr_serv;
 static int sock_fd = 0;
@@ -703,6 +705,36 @@
     return res;
 }
 
+#ifdef MOBILETEK_TARGET_PLATFORM_T106
+/**@breif    notice ril the sleep state
+*param       num type: [IN]  sleep_state,0:sleep,1:resume
+*param       ret type: [OUT] result,0:success,other:fail
+*return int
+*/
+int lynq_sleep_status(int sleep_state)
+{
+    RLOGD("start lynq_get_sleep_status\n");
+    if(g_lynq_sim_init_flag == 0)
+    {
+        return -1;
+    }
+    if(!judge(sleep_state))
+        return -1;
+    Parcel p;
+    int res = lynq_send_common_request(&p,LYNQ_REQUEST_CHANGE_SLEEP_STATE,1,1,"%d\n",sleep_state);
+    if(res != 0)
+    {
+        RLOGD("function %s execute error\n", __FUNCTION__);
+        return res;
+    }
+    else
+    {
+        RLOGD("function %s execute success\n", __FUNCTION__);
+    }
+    return res;
+}
+#endif
+
 /**@breif    change screen state
 *param       num type: [IN]  screen_state,0:close,1:open
 *param       ret type: [OUT] result,0:success,other:fail