Merge "Service side HAL changes for RIL solicited responses - 2"
diff --git a/libril/ril_commands.h b/libril/ril_commands.h
index cd8035d..8404624 100644
--- a/libril/ril_commands.h
+++ b/libril/ril_commands.h
@@ -117,7 +117,7 @@
     {RIL_REQUEST_GET_SMSC_ADDRESS, dispatchVoid, radio::getSmscAddressResponse},
     {RIL_REQUEST_SET_SMSC_ADDRESS, dispatchString, radio::setSmscAddressResponse},
     {RIL_REQUEST_REPORT_SMS_MEMORY_STATUS, dispatchInts, radio::reportSmsMemoryStatusResponse},
-    {RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING, dispatchVoid, responseVoid},
+    {RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING, dispatchVoid, radio::reportStkServiceIsRunningResponse},
     {RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE, dispatchVoid, radio::getCdmaSubscriptionSourceResponse},
     {RIL_REQUEST_ISIM_AUTHENTICATION, dispatchString, radio::requestIsimAuthenticationResponse},
     {RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU, dispatchStrings, radio::acknowledgeIncomingGsmSmsWithPduResponse},
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index ea9e4bc..e93c75d 100644
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -4313,6 +4313,25 @@
     return 0;
 }
 
+int radio::reportStkServiceIsRunningResponse(android::Parcel &p, int slotId, int requestNumber,
+                                             int responseType, int serial, RIL_Errno e,
+                                             void *response, size_t responseLen) {
+    RLOGD("radio::reportStkServiceIsRunningResponse: serial %d", serial);
+
+    if (radioService[slotId]->mRadioResponse != NULL) {
+        RadioResponseInfo responseInfo;
+        populateResponseInfo(responseInfo, serial, responseType, e);
+        Return<void> retStatus = radioService[slotId]->mRadioResponse->
+                reportStkServiceIsRunningResponse(responseInfo);
+        radioService[slotId]->checkReturnStatus(retStatus);
+    } else {
+        RLOGE("radio::reportStkServiceIsRunningResponse: radioService[%d]->mRadioResponse == NULL",
+                slotId);
+    }
+
+    return 0;
+}
+
 int radio::getCdmaSubscriptionSourceResponse(android::Parcel &p, int slotId, int requestNumber,
                                             int responseType, int serial, RIL_Errno e,
                                             void *response, size_t responseLen) {
diff --git a/libril/ril_service.h b/libril/ril_service.h
index 923fb1f..8294e5f 100644
--- a/libril/ril_service.h
+++ b/libril/ril_service.h
@@ -394,6 +394,10 @@
                                  int responseType, int serial, RIL_Errno e,
                                  void *response, size_t responselen);
 
+int reportStkServiceIsRunningResponse(android::Parcel &p, int slotId, int requestNumber,
+                                      int responseType, int serial, RIL_Errno e,
+                                      void *response, size_t responseLen);
+
 int getCdmaSubscriptionSourceResponse(android::Parcel &p, int slotId, int requestNumber,
                                      int responseType, int serial, RIL_Errno e, void *response,
                                      size_t responselen);