diff options
author | Joonhun Shin <joonhunshin@google.com> | 2022-05-04 02:09:14 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-05-04 02:09:14 +0000 |
commit | d5b08f9b046c432bcfaca6f81dcf42d32f7b54ea (patch) | |
tree | 538649dcb1f0a62b4ad68bbd68e963482d7ebaed | |
parent | e088187de67352341095d71911ba8b3add4b27a2 (diff) | |
parent | dacf53ff8cab302c763b94e7cce1894984ffa217 (diff) | |
download | ims-d5b08f9b046c432bcfaca6f81dcf42d32f7b54ea.tar.gz |
Merge "ImsProvisioningController returns provisioned when provisoning has not completed" into tm-dev am: a19e683c8b am: dacf53ff8c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/net/ims/+/18032083
Change-Id: I1df9e59c9f2245a6f01cecad9f0b060e6ebf246b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-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), |