Process rcsVolteSingleRegistration if it is not provided or roaming

Bug: 186884505
Test: atest TeleServiceTests:com.android.phone.RcsProvisioningMonitorTest
Test: atest FrameworksTelephonyTests:com.telephony.ims.RcsConfigTest
Change-Id: Iff1b43d7a2469c6cb4c54176a4df4d3e1457e215
diff --git a/src/com/android/phone/RcsProvisioningMonitor.java b/src/com/android/phone/RcsProvisioningMonitor.java
index 9e30728..4c5a8e9 100644
--- a/src/com/android/phone/RcsProvisioningMonitor.java
+++ b/src/com/android/phone/RcsProvisioningMonitor.java
@@ -543,9 +543,13 @@
                     == ProvisioningManager.STATUS_CAPABLE) {
                 try {
                     RcsConfig rcsConfig = new RcsConfig(getConfig(subId));
-                    return rcsConfig.isRcsVolteSingleRegistrationSupported();
+                    return rcsConfig.isRcsVolteSingleRegistrationSupported(
+                            mPhone.getPhone(subId).getServiceState().getRoaming());
                 } catch (IllegalArgumentException e) {
                     logd("fail to get rcs config for sub:" + subId);
+                } catch (NullPointerException e) {
+                    // should not happen
+                    logd("fail to get roaming state for sub: " + subId);
                 }
             }
         }