diff options
author | joonhunshin <joonhunshin@google.com> | 2022-04-29 06:18:19 +0000 |
---|---|---|
committer | Joonhun Shin <joonhunshin@google.com> | 2022-05-02 07:07:01 +0000 |
commit | 4833edd19cab2fac198c06cdb472db6f6bb89eba (patch) | |
tree | 9e2db933fe5edc158b4054b78bd2281c186799ef | |
parent | 42b6ca6a298fdfa6e5d7dc3800e9b8260dff064b (diff) | |
download | ims-4833edd19cab2fac198c06cdb472db6f6bb89eba.tar.gz |
ImsProvisioningController returns provisioned when provisoning has not completed
Delete code that access deprecated carrier config key, and hand over to
ImsProvisioningController
Bug: 230794289
Test: atest ImsManagerTest, ImsServiceTest
Test: manual with TMO, ATT SIM
1. add carrier config carrier_volte_provisioning_required_bool as true
2. device reboot
3. check IMS registration and imsprovisioningstatus_X.xml file is created by ImsProvisioningLoader
Change-Id: I289e0787ab90957a5c5eb03b4bff9b0ee35160d6
-rw-r--r-- | src/java/com/android/ims/ImsManager.java | 38 | ||||
-rw-r--r-- | tests/src/com/android/ims/ImsManagerTest.java | 171 |
2 files changed, 18 insertions, 191 deletions
diff --git a/src/java/com/android/ims/ImsManager.java b/src/java/com/android/ims/ImsManager.java index e212ee0b..257aef91 100644 --- a/src/java/com/android/ims/ImsManager.java +++ b/src/java/com/android/ims/ImsManager.java @@ -849,12 +849,7 @@ public class ImsManager implements FeatureUpdates { * Indicates whether VoLTE is provisioned on this slot. */ public boolean isVolteProvisionedOnDevice() { - // check new carrier config first KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // if that returns false, check deprecated carrier config - // KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL - if (isMmTelProvisioningRequired(CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE) || - getBooleanCarrierConfig( - CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL)) { + if (isMmTelProvisioningRequired(CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE)) { return isVolteProvisioned(); } @@ -865,12 +860,7 @@ public class ImsManager implements FeatureUpdates { * Indicates whether EAB is provisioned on this slot. */ public boolean isEabProvisionedOnDevice() { - // check new carrier config first KEY_RCS_REQUIRES_PROVISIONING_BUNDLE - // if that returns false, check deprecated carrier config - // KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL - if (isRcsProvisioningRequired(CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE) || - getBooleanCarrierConfig( - CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL)) { + if (isRcsProvisioningRequired(CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE)) { return isEabProvisioned(); } @@ -910,12 +900,7 @@ public class ImsManager implements FeatureUpdates { } } - // check new carrier config first KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // if that returns false, check deprecated carrier config - // KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL - if (isMmTelProvisioningRequired(CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN) - || getBooleanCarrierConfig( - CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL)) { + if (isMmTelProvisioningRequired(CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN)) { return isWfcProvisioned(); } @@ -942,12 +927,7 @@ public class ImsManager implements FeatureUpdates { * Indicates whether VT is provisioned on slot. */ public boolean isVtProvisionedOnDevice() { - // check new carrier config first KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // if that returns false, check deprecated carrier config - // KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL - if (isMmTelProvisioningRequired(CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE) || - getBooleanCarrierConfig( - CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL)) { + if (isMmTelProvisioningRequired(CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE)) { return isVtProvisioned(); } @@ -1653,7 +1633,7 @@ public class ImsManager implements FeatureUpdates { } try { - return iTelephony.getImsProvisioningStatusForCapability(subId, capability, tech); + return iTelephony.getImsProvisioningStatusForCapability(subId, capability, tech); } catch (RemoteException e) { logw("getImsProvisionedBoolNoException: operation failed for capability=" + capability + ". Exception:" + e.getMessage() + ". Returning false."); @@ -1679,7 +1659,7 @@ public class ImsManager implements FeatureUpdates { } try { - return iTelephony.getRcsProvisioningStatusForCapability(subId, capability, tech); + return iTelephony.getRcsProvisioningStatusForCapability(subId, capability, tech); } catch (RemoteException e) { logw("getRcsProvisionedBoolNoException: operation failed for capability=" + capability + ". Exception:" + e.getMessage() + ". Returning false."); @@ -3175,8 +3155,8 @@ public class ImsManager implements FeatureUpdates { boolean required = false; try { - required |= iTelephony.isProvisioningRequiredForCapability(subId, capability, - tech); + required = iTelephony.isProvisioningRequiredForCapability(subId, capability, + tech); } catch (RemoteException e) { logw("isMmTelProvisioningRequired couldn't reach telephony!"); } @@ -3200,7 +3180,7 @@ public class ImsManager implements FeatureUpdates { boolean required = false; try { - required |= iTelephony.isRcsProvisioningRequiredForCapability(subId, capability, + required = iTelephony.isRcsProvisioningRequiredForCapability(subId, capability, tech); } catch (RemoteException e) { logw("isRcsProvisioningRequired couldn't reach telephony!"); diff --git a/tests/src/com/android/ims/ImsManagerTest.java b/tests/src/com/android/ims/ImsManagerTest.java index aaa332c6..42f110dc 100644 --- a/tests/src/com/android/ims/ImsManagerTest.java +++ b/tests/src/com/android/ims/ImsManagerTest.java @@ -308,106 +308,23 @@ public class ImsManagerTest extends ImsTestBase { } @Test - public void testGetProvisionedValues() throws Exception { - ImsManager imsManager = getImsManagerAndInitProvisionedValues(); - - assertEquals(true, imsManager.isWfcProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); - clearInvocations(mITelephony); - - assertEquals(true, imsManager.isVtProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - clearInvocations(mITelephony); - - assertEquals(true, imsManager.isVolteProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - clearInvocations(mITelephony); - - // If we call get again, times should still be one because the value should be fetched - // from cache. - assertEquals(true, imsManager.isWfcProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); - clearInvocations(mITelephony); - - assertEquals(true, imsManager.isVtProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - clearInvocations(mITelephony); - - assertEquals(true, imsManager.isVolteProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - clearInvocations(mITelephony); - - assertEquals(true, imsManager.isEabProvisionedOnDevice()); - verify(mITelephony, times(1)).getRcsProvisioningStatusForCapability( - anyInt(), - eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - } - - @Test public void testGetProvisionedValuesForWfc() throws Exception { ImsManager imsManager = getImsManagerAndInitProvisionedValues(); - // defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL mMmTelProvisioningRequired = true; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - false); assertEquals(true, imsManager.isWfcProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); verify(mITelephony, times(1)). isProvisioningRequiredForCapability(anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); - clearInvocations(mITelephony); - - // defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL - mMmTelProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - true); - assertEquals(true, imsManager.isWfcProvisionedOnDevice()); verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); - verify(mITelephony, times(1)). - isProvisioningRequiredForCapability(anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); clearInvocations(mITelephony); - // defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL mMmTelProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - false); assertEquals(true, imsManager.isWfcProvisionedOnDevice()); - verify(mITelephony, never()).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); verify(mITelephony, times(1)). isProvisioningRequiredForCapability(anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), @@ -419,46 +336,19 @@ public class ImsManagerTest extends ImsTestBase { public void testGetProvisionedValuesForVt() throws Exception { ImsManager imsManager = getImsManagerAndInitProvisionedValues(); - // defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL mMmTelProvisioningRequired = true; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - false); assertEquals(true, imsManager.isVtProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); verify(mITelephony, times(1)).isProvisioningRequiredForCapability(anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - clearInvocations(mITelephony); - - // not defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL - mMmTelProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - true); - assertEquals(true, imsManager.isVtProvisionedOnDevice()); verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - verify(mITelephony, times(1)).isProvisioningRequiredForCapability(anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); clearInvocations(mITelephony); - // not defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL mMmTelProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - false); assertEquals(true, imsManager.isVtProvisionedOnDevice()); - verify(mITelephony, never()).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); verify(mITelephony, times(1)).isProvisioningRequiredForCapability(anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); @@ -469,46 +359,19 @@ public class ImsManagerTest extends ImsTestBase { public void testGetProvisionedValuesForVolte() throws Exception { ImsManager imsManager = getImsManagerAndInitProvisionedValues(); - // defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL mMmTelProvisioningRequired = true; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - false); assertEquals(true, imsManager.isVolteProvisionedOnDevice()); - verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); verify(mITelephony, times(1)).isProvisioningRequiredForCapability(anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - clearInvocations(mITelephony); - - // not defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL - mMmTelProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - true); - assertEquals(true, imsManager.isVolteProvisionedOnDevice()); verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - verify(mITelephony, times(1)).isProvisioningRequiredForCapability(anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); clearInvocations(mITelephony); - // not defined : KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL mMmTelProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, - false); assertEquals(true, imsManager.isVolteProvisionedOnDevice()); - verify(mITelephony, never()).getImsProvisioningStatusForCapability( - anyInt(), - eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); verify(mITelephony, times(1)).isProvisioningRequiredForCapability(anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); @@ -519,43 +382,19 @@ public class ImsManagerTest extends ImsTestBase { public void testGetProvisionedValuesForEab() throws Exception { ImsManager imsManager = getImsManagerAndInitProvisionedValues(); - // defined : KEY_RCS_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL mRcsProvisioningRequired = true; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL, false); assertEquals(true, imsManager.isEabProvisionedOnDevice()); - verify(mITelephony, times(1)).getRcsProvisioningStatusForCapability( - anyInt(), - eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); verify(mITelephony, times(1)).isRcsProvisioningRequiredForCapability(anyInt(), eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - clearInvocations(mITelephony); - - // not defined : KEY_RCS_REQUIRES_PROVISIONING_BUNDLE - // defined : KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL - mRcsProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL, true); - assertEquals(true, imsManager.isEabProvisionedOnDevice()); verify(mITelephony, times(1)).getRcsProvisioningStatusForCapability( anyInt(), eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); - verify(mITelephony, times(1)).isRcsProvisioningRequiredForCapability(anyInt(), - eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); clearInvocations(mITelephony); - // not defined : KEY_RCS_REQUIRES_PROVISIONING_BUNDLE - // not defined : KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL mRcsProvisioningRequired = false; - mBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL, false); assertEquals(true, imsManager.isEabProvisionedOnDevice()); - verify(mITelephony, never()).getRcsProvisioningStatusForCapability( - anyInt(), - eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), - eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); verify(mITelephony, times(1)).isRcsProvisioningRequiredForCapability(anyInt(), eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); @@ -566,8 +405,12 @@ public class ImsManagerTest extends ImsTestBase { public void testSetProvisionedValues() throws Exception { ImsManager imsManager = getImsManagerAndInitProvisionedValues(); + mMmTelProvisioningRequired = true; assertEquals(true, imsManager.isWfcProvisionedOnDevice()); - + verify(mITelephony, times(1)). + isProvisioningRequiredForCapability(anyInt(), + eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), + eq(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN)); verify(mITelephony, times(1)).getImsProvisioningStatusForCapability( anyInt(), eq(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE), @@ -597,8 +440,12 @@ public class ImsManagerTest extends ImsTestBase { public void testEabSetProvisionedValues() throws Exception { ImsManager imsManager = getImsManagerAndInitProvisionedValues(); + mRcsProvisioningRequired = true; assertEquals(true, imsManager.isEabProvisionedOnDevice()); + verify(mITelephony, times(1)).isRcsProvisioningRequiredForCapability(anyInt(), + eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), + eq(ImsRegistrationImplBase.REGISTRATION_TECH_LTE)); verify(mITelephony, times(1)).getRcsProvisioningStatusForCapability( anyInt(), eq(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE), |