Merge "Map RIL_RadioTechnologyFamily to RadioTechnologyFamily correctly" am: 4729b84992 am: 33f79bed54 am: be43386d15

Original change: https://android-review.googlesource.com/c/platform/hardware/ril/+/1471647

Change-Id: I2386fb4f58be5a93a666efdb37d31177d6247105
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index 06bdfef..123f3e2 100755
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -5971,7 +5971,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");
@@ -5979,11 +5979,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",