Cleanup for radioStateChanged.
Test: Basic telephony sanity
Bug: 32020264
Change-Id: I7b7675406409dbb92c3559499665fbe59030573b
diff --git a/libril/ril.cpp b/libril/ril.cpp
index 0323740..a4edf99 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -4439,9 +4439,7 @@
{
int unsolResponseIndex;
int ret;
- int64_t timeReceived = 0;
bool shouldScheduleTimeout = false;
- RIL_RadioState newState;
RIL_SOCKET_ID soc_id = RIL_SOCKET_1;
#if defined(ANDROID_MULTI_SIM)
@@ -4501,14 +4499,6 @@
rwlockRet = pthread_rwlock_unlock(radioServiceRwlockPtr);
assert(rwlockRet == 0);
- // some things get more payload
- switch(unsolResponse) {
- case RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED:
- newState = CALL_ONSTATEREQUEST(soc_id);
- appendPrintBuf("%s {%s}", printBuf, radioStateToString(newState));
- break;
- }
-
if (s_callbacks.version < 13) {
if (shouldScheduleTimeout) {
UserCallbackInfo *p_info = internalRequestTimedCallback(wakeTimeoutCallback, NULL,
@@ -4531,18 +4521,6 @@
requestToString(unsolResponse), p.dataSize());
#endif
- switch (unsolResponse) {
- case RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED:
- rwlockRet = pthread_rwlock_rdlock(radioServiceRwlockPtr);
- assert(rwlockRet == 0);
-
- radio::radioStateChangedInd(soc_id, responseType, newState);
-
- rwlockRet = pthread_rwlock_unlock(radioServiceRwlockPtr);
- assert(rwlockRet == 0);
- break;
- }
-
if (ret != 0 && unsolResponse == RIL_UNSOL_NITZ_TIME_RECEIVED) {
// Unfortunately, NITZ time is not poll/update like everything
// else in the system. So, if the upstream client isn't connected,
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index 952b966..c186459 100644
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -5785,15 +5785,20 @@
(RadioIndicationType::UNSOLICITED_ACK_EXP);
}
-void radio::radioStateChangedInd(int slotId, int indicationType, RIL_RadioState radioState) {
+int radio::radioStateChangedInd(android::Parcel &p, int slotId, int requestNumber,
+ int indicationType, int token, RIL_Errno e, void *response,
+ size_t responseLen) {
if (radioService[slotId] != NULL && radioService[slotId]->mRadioIndication != NULL) {
+ RadioState radioState = (RadioState) s_vendorFunctions->onStateRequest();
RLOGD("radio::radioStateChangedInd: radioState %d", radioState);
Return<void> retStatus = radioService[slotId]->mRadioIndication->radioStateChanged(
- convertIntToRadioIndicationType(indicationType), (RadioState) radioState);
+ convertIntToRadioIndicationType(indicationType), radioState);
radioService[slotId]->checkReturnStatus(retStatus);
} else {
RLOGE("radio::radioStateChangedInd: radioService[%d]->mRadioIndication == NULL", slotId);
}
+
+ return 0;
}
int radio::callStateChangedInd(android::Parcel &p, int slotId, int requestNumber,
@@ -5812,8 +5817,8 @@
}
int radio::networkStateChangedInd(android::Parcel &p, int slotId, int requestNumber,
- int indicationType, int token, RIL_Errno e, void *response,
- size_t responseLen) {
+ int indicationType, int token, RIL_Errno e, void *response,
+ size_t responseLen) {
if (radioService[slotId] != NULL && radioService[slotId]->mRadioIndication != NULL) {
RLOGD("radio::networkStateChangedInd");
Return<void> retStatus = radioService[slotId]->mRadioIndication->networkStateChanged(
diff --git a/libril/ril_service.h b/libril/ril_service.h
index 6e8e79c..58a7d13 100644
--- a/libril/ril_service.h
+++ b/libril/ril_service.h
@@ -534,7 +534,9 @@
void acknowledgeRequest(int slotId, int serial);
-void radioStateChangedInd(int slotId, int indicationType, RIL_RadioState radioState);
+int radioStateChangedInd(android::Parcel &p, int slotId, int requestNumber,
+ int indicationType, int token, RIL_Errno e, void *response,
+ size_t responseLen);
int callStateChangedInd(android::Parcel &p, int slotId, int requestNumber, int indType, int token,
RIL_Errno e, void *response, size_t responselen);
diff --git a/libril/ril_unsol_commands.h b/libril/ril_unsol_commands.h
index 3f34a88..a14d7bf 100644
--- a/libril/ril_unsol_commands.h
+++ b/libril/ril_unsol_commands.h
@@ -14,8 +14,7 @@
** See the License for the specific language governing permissions and
** limitations under the License.
*/
- {RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED, responseVoid, WAKE_PARTIAL},
-
+ {RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED, radio::radioStateChangedInd, WAKE_PARTIAL},
{RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED, radio::callStateChangedInd, WAKE_PARTIAL},
{RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED, radio::networkStateChangedInd, WAKE_PARTIAL},
{RIL_UNSOL_RESPONSE_NEW_SMS, radio::newSmsInd, WAKE_PARTIAL},