isRcsVolteSingleRegistrationCapable does not check provisioned config
Update the logic of isRcsVolteSingleRegistrationCapable only to check
the device and carrier capabilities no matter whether it is allowed
or not in the provisioned config.
Bug: 189494430
Test: atest TeleServiceTests:RcsProvisioningMonitorTest
Test: atest CtsTelephonyTestCases:android.telephony.ims.cts.ImsServiceTest
Merged-In: Ie61f3383eafd182da46735a86f63dc654b66c472
Change-Id: If80585ded7af1d932e1bb53926b1367222bc7843
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index f2a3d39..b4a6d52 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -9737,9 +9737,13 @@
try {
RcsProvisioningMonitor rpm = RcsProvisioningMonitor.getInstance();
if (rpm != null) {
- return rpm.isRcsVolteSingleRegistrationEnabled(subId);
+ Boolean isCapable = rpm.isRcsVolteSingleRegistrationEnabled(subId);
+ if (isCapable != null) {
+ return isCapable;
+ }
}
- return false;
+ throw new ServiceSpecificException(ImsException.CODE_ERROR_SERVICE_UNAVAILABLE,
+ "service is temporarily unavailable.");
} finally {
Binder.restoreCallingIdentity(identity);
}