aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonhun Shin <joonhunshin@google.com>2022-05-04 00:24:14 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-05-04 00:24:14 +0000
commita19e683c8b29a67ba6791080c0dba28a6a19e9e3 (patch)
tree538649dcb1f0a62b4ad68bbd68e963482d7ebaed
parent8ccae76735c976d98f646839a33da7b78d472884 (diff)
parent4833edd19cab2fac198c06cdb472db6f6bb89eba (diff)
downloadims-a19e683c8b29a67ba6791080c0dba28a6a19e9e3.tar.gz
Merge "ImsProvisioningController returns provisioned when provisoning has not completed" into tm-dev
-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),