Properly catch ServiceSpecificException if IMS isn't available

Fixes: 147815387
Test: boot device and ensure UCE registers correctly.
Change-Id: I4033659acb0031e2383ebcff55c1bb0798041abd
This commit is contained in:
Brad Ebinger
2020-01-16 11:19:43 -08:00
parent 9f183ebedf
commit fee1f36a08

View File

@@ -27,6 +27,7 @@ import android.annotation.TestApi;
import android.annotation.WorkerThread;
import android.os.Binder;
import android.os.RemoteException;
import android.os.ServiceSpecificException;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyFrameworkInitializer;
@@ -383,6 +384,8 @@ public class ProvisioningManager {
callback.setExecutor(executor);
try {
getITelephony().registerImsProvisioningChangedCallback(mSubId, callback.getBinder());
} catch (ServiceSpecificException e) {
throw new ImsException(e.getMessage(), e.errorCode);
} catch (RemoteException | IllegalStateException e) {
throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
}