Update IMS MMTEL API impls to include NR tech types

Bug: 179724463
Test: atest TeleServiceTest
Merged-In: Id6c8b034d48ea385df2fc3e293fd1e539c425b95
Change-Id: Id6c8b034d48ea385df2fc3e293fd1e539c425b95
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 68bc19c..2f22d63 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -4345,8 +4345,8 @@
     @Override
     public void setImsProvisioningStatusForCapability(int subId, int capability, int tech,
             boolean isProvisioned) {
-        if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
+        if (tech < ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+                || tech > ImsRegistrationImplBase.REGISTRATION_TECH_NR) {
             throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
         }
         checkModifyPhoneStatePermission(subId, "setImsProvisioningStatusForCapability");
@@ -4356,6 +4356,12 @@
             if (!isImsProvisioningRequired(subId, capability, true)) {
                 return;
             }
+            if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+                    && tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN) {
+                loge("setImsProvisioningStatusForCapability: called for technology that does "
+                        + "not support provisioning - " + tech);
+                return;
+            }
 
             // this capability requires provisioning, route to the correct API.
             ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
@@ -4383,7 +4389,7 @@
                     }
                     cacheMmTelCapabilityProvisioning(subId, capability, tech, isProvisioned);
                     try {
-                        ims.changeMmTelCapability(capability, tech, isProvisioned);
+                        ims.changeMmTelCapability(isProvisioned, capability, tech);
                     } catch (com.android.ims.ImsException e) {
                         loge("setImsProvisioningStatusForCapability: couldn't change UT capability"
                                 + ", Exception" + e.getMessage());
@@ -4404,8 +4410,8 @@
 
     @Override
     public boolean getImsProvisioningStatusForCapability(int subId, int capability, int tech) {
-        if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
+        if (tech < ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+                || tech > ImsRegistrationImplBase.REGISTRATION_TECH_NR) {
             throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
         }
         enforceReadPrivilegedPermission("getProvisioningStatusForCapability");
@@ -4416,6 +4422,13 @@
                 return true;
             }
 
+            if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+                    && tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN) {
+                loge("getImsProvisioningStatusForCapability: called for technology that does "
+                        + "not support provisioning - " + tech);
+                return true;
+            }
+
             ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
             switch (capability) {
                 case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE: {