ril: Add support for roamingProtocol parcel member

This is needed for Samsung devices like the Galaxy A5 2017.

Change-Id: I549130b838377d8a8668ac59b51c314fe9e7f5ab
diff --git a/ril/libril/Android.mk b/ril/libril/Android.mk
index 056390f..46a596c 100644
--- a/ril/libril/Android.mk
+++ b/ril/libril/Android.mk
@@ -50,6 +50,10 @@
 LOCAL_CFLAGS += -DNEEDS_VIDEO_CALL_FIELD
 endif
 
+ifeq ($(BOARD_NEEDS_ROAMING_PROTOCOL_FIELD), true)
+LOCAL_CFLAGS += -DNEEDS_ROAMING_PROTOCOL_FIELD
+endif
+
 LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
 LOCAL_C_INCLUDES += external/nanopb-c
 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../include
diff --git a/ril/libril/ril_service.cpp b/ril/libril/ril_service.cpp
index f36ceb3..d1fa581 100644
--- a/ril/libril/ril_service.cpp
+++ b/ril/libril/ril_service.cpp
@@ -1941,6 +1941,13 @@
             return Void();
         }
 
+#ifdef NEEDS_ROAMING_PROTOCOL_FIELD
+        if (!copyHidlStringToRil(&iaa.roamingProtocol, dataProfileInfo.roamingProtocol, pRI)) {
+            memsetAndFreeStrings(4, iaa.apn, iaa.protocol, iaa.username, iaa.roamingProtocol);
+            return Void();
+        }
+#endif
+
         CALL_ONREQUEST(RIL_REQUEST_SET_INITIAL_ATTACH_APN, &iaa, sizeof(iaa), pRI, mSlotId);
 
         memsetAndFreeStrings(4, iaa.apn, iaa.protocol, iaa.username, iaa.password);