Fix incorrect logic in registerImsProvisioningChangedCallback

An incorrect exception was being thrown if the device supports IMS.

Fixes: 147815387
Test: verify device boots correctly and UCE is registered.
Change-Id: I38f14dc9a74781f6ad07e30bff49fd23429de7c4
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 301387f..ae6ec1a 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -3434,11 +3434,10 @@
         enforceReadPrivilegedPermission("registerImsProvisioningChangedCallback");
         final long identity = Binder.clearCallingIdentity();
         try {
-            if (isImsAvailableOnDevice()) {
-                throw new ImsException("IMS not available on device.",
-                        ImsException.CODE_ERROR_UNSUPPORTED_OPERATION);
+            if (!isImsAvailableOnDevice()) {
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                        "IMS not available on device.");
             }
-
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
                     .addProvisioningCallbackForSubscription(callback, subId);