aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoonhunshin <joonhunshin@google.com>2022-04-29 06:18:19 +0000
committerJoonhun Shin <joonhunshin@google.com>2022-05-02 07:07:01 +0000
commit4833edd19cab2fac198c06cdb472db6f6bb89eba (patch)
tree9e2db933fe5edc158b4054b78bd2281c186799ef
parent42b6ca6a298fdfa6e5d7dc3800e9b8260dff064b (diff)
downloadims-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.java38
-rw-r--r--tests/src/com/android/ims/ImsManagerTest.java171
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),