Check to ensure an ImsService can handle an IMS request
Previously, if there was no ImsService available at the time of an
IMS request, we would send a not available exception, which is
documented to have the caller retry. This is inefficient because it
will cause apps to retry indefinitely on devices that support IMS
but do not have an ImsService configured for the active subscription.
This change adds a check in ImsResolver to first make sure there is
an ImsService configured for the ImsFeature type that the request
is for and if there isn't, we will instead send a
ImsException#CODE_ERROR_UNSUPPORTED_OPERATION error, which is a
permanent failure that apps can use to stop retrying.
Fixes: 184188331
Test: atest CtsTelephonyTestCases
Change-Id: I1b7a50c320e5bca59659561c5a0cfd928cd6e1c0
2 files changed