From d82af6f755861b60deae6abbccc106484ca4e516 Mon Sep 17 00:00:00 2001 From: Brad Ebinger Date: Wed, 16 Feb 2022 13:54:27 -0800 Subject: [PATCH] Throw an explicit ImsException if the ImsService isnt available In the case that the ImsService is not active for the subId requested, do not return false because this can cause services to think that a capability is not capable/available for a specific subId when in reality, we haven't loaded the configs for it yet. Bug: 218893458 Test: ImsCommonTests Change-Id: I97d6304216ec19fcd45f9552eb4e19061f1a323a --- telephony/java/android/telephony/ims/ImsRcsManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/telephony/java/android/telephony/ims/ImsRcsManager.java b/telephony/java/android/telephony/ims/ImsRcsManager.java index 34158685b6d1b..783c0d1e15f9b 100644 --- a/telephony/java/android/telephony/ims/ImsRcsManager.java +++ b/telephony/java/android/telephony/ims/ImsRcsManager.java @@ -497,6 +497,8 @@ public class ImsRcsManager { try { return imsRcsController.isCapable(mSubId, capability, radioTech); + } catch (ServiceSpecificException e) { + throw new ImsException(e.getMessage(), e.errorCode); } catch (RemoteException e) { Log.w(TAG, "Error calling IImsRcsController#isCapable", e); throw new ImsException("Remote IMS Service is not available", @@ -534,6 +536,8 @@ public class ImsRcsManager { try { return imsRcsController.isAvailable(mSubId, capability, radioTech); + } catch (ServiceSpecificException e) { + throw new ImsException(e.getMessage(), e.errorCode); } catch (RemoteException e) { Log.w(TAG, "Error calling IImsRcsController#isAvailable", e); throw new ImsException("Remote IMS Service is not available",