[Bugfix][API-679]channel 228 wakeup source because mipc

Change-Id: I6248bfe03ae7bcc18f98b4a8d90a9813b50d5ecf
(cherry picked from commit e4e29ff9d531dc2443b004b531e70794954846f1)
diff --git a/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/ims/RpImsController.h b/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/ims/RpImsController.h
index 97efabc..5b081b9 100644
--- a/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/ims/RpImsController.h
+++ b/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/ims/RpImsController.h
@@ -43,7 +43,11 @@
 #include "RfxTimer.h"
 
 #include <utils/Vector.h>
-
+/*jb.qi change for channel 228 resume on 2022.11.18 start*/
+#include "mipc_msg_host.h"
+#include "mipc_msg_tlv_const.h"
+#include "mipc_msg_tlv_api.h"
+/*jb.qi change for channel 228 resume on 2022.11.18 end */
 /*****************************************************************************
  * Class RpDataController
  *****************************************************************************/
@@ -67,5 +71,6 @@
     virtual void handleImsRegistrationState(const sp<RfxMessage>& request);
 };
 
+void mipc_ims_state_ind_cb(mipc_msg_t *msg_ptr, void *priv_ptr); //jb.qi change for channel 228 resume on 2022.11.18
 #endif /* __RP_SYS_CONTROLLER_H__ */
 
diff --git a/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/network/RpNwController.cpp b/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/network/RpNwController.cpp
index 0d02dd2..7efb045 100755
--- a/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/network/RpNwController.cpp
+++ b/src/telephonyware/3.0/hardware/ril/fusion/libril/rilmipc/telephony/network/RpNwController.cpp
@@ -39,7 +39,7 @@
  *****************************************************************************/
 
 #include "RpNwController.h"
-
+#include "../ims/RpImsController.h"
 #include <sys/un.h>
 #include <errno.h>
 #include <unistd.h>
@@ -2111,7 +2111,7 @@
 void RpNwController::handleScreenStateRequest(const sp<RfxMessage>& request)
 {
     Parcel* p = request->getParcel();
-
+    int ret; //jb.qi change for channel 228 resume on 2022.11.18
     int32_t count = 0;
     android::status_t status = android::NO_ERROR;
     int32_t screen_state = -1;
@@ -2135,12 +2135,18 @@
         mipc_nw_ps_register(slot_id_to_mipc_sim_id(getSlotId()),mipc_unsol_nw_ps_ind_cb,NULL);
         mipc_nw_cs_register(slot_id_to_mipc_sim_id(getSlotId()),mipc_unsol_nw_cs_ind_cb,NULL);
         mipc_nw_psbearer_ind_register(slot_id_to_mipc_sim_id(getSlotId()),mipc_unsol_nw_psbearer_ind_cb,NULL);
+        /*jb.qi change for channel 228 resume on 2022.11.18 start*/
+        ret = mipc_msg_register_ind_api((mipc_msg_sim_ps_id_enum)slot_id_to_mipc_sim_id(getSlotId()), MIPC_IMS_STATE_IND, (void*)mipc_ims_state_ind_cb, NULL, NULL);
+        /*jb.qi change for channel 228 resume on 2022.11.18 end*/
     }else {
         mipc_nw_nitz_register(slot_id_to_mipc_sim_id(getSlotId()),NULL,NULL);
         mipc_nw_signal_state_register(slot_id_to_mipc_sim_id(getSlotId()),NULL,NULL);
         mipc_nw_ps_register(slot_id_to_mipc_sim_id(getSlotId()),NULL,NULL);
         mipc_nw_cs_register(slot_id_to_mipc_sim_id(getSlotId()),NULL,NULL);
         mipc_nw_psbearer_ind_register(slot_id_to_mipc_sim_id(getSlotId()),NULL,NULL);
+        /*jb.qi change for channel 228 resume on 2022.11.18 start*/
+        ret = mipc_msg_register_ind_api((mipc_msg_sim_ps_id_enum)slot_id_to_mipc_sim_id(getSlotId()), MIPC_IMS_STATE_IND, NULL, NULL, NULL);
+        /*jb.qi change for channel 228 resume on 2022.11.18 end*/
     }
     rfx_enqueue_response_message(NULL,request->getRilToken(),(RIL_SOCKET_ID)request->getSlotId(),RIL_E_SUCCESS);
     return;