Merge d515ea2b58f40bf356aa13a8cb58672126d731d0 on remote branch
Change-Id: Ie98fa4288d7377dba92dd2255c7f2e224fad77e8
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index c97b607..8acb0f3 100755
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -5973,7 +5973,7 @@
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
bool isRegistered = false;
- int ratFamily = 0;
+ RadioTechnologyFamily ratFamily = RadioTechnologyFamily::THREE_GPP;
int numInts = responseLen / sizeof(int);
if (response == NULL || numInts != 2) {
RLOGE("getImsRegistrationStateResponse Invalid response: NULL");
@@ -5981,11 +5981,16 @@
} else {
int *pInt = (int *) response;
isRegistered = pInt[0] == 1 ? true : false;
- ratFamily = pInt[1];
+ // Map RIL_RadioTechnologyFamily to RadioTechnologyFamily
+ if (pInt[1] == RADIO_TECH_3GPP) {
+ ratFamily = RadioTechnologyFamily::THREE_GPP;
+ } else {
+ ratFamily = RadioTechnologyFamily::THREE_GPP2;
+ }
}
Return<void> retStatus
= radioService[slotId]->mRadioResponse->getImsRegistrationStateResponse(
- responseInfo, isRegistered, (RadioTechnologyFamily) ratFamily);
+ responseInfo, isRegistered, ratFamily);
radioService[slotId]->checkReturnStatus(retStatus);
} else {
RLOGE("getImsRegistrationStateResponse: radioService[%d]->mRadioResponse == NULL",