diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-05-05 03:07:25 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-05-05 03:07:25 +0000 |
commit | e5b4dbbb0a4c0f6a9d624eb6a223227958e5066b (patch) | |
tree | 538649dcb1f0a62b4ad68bbd68e963482d7ebaed | |
parent | 540b0bcabc0aa87d7a6e7fb0a433ca26c771e4f9 (diff) | |
parent | d5b08f9b046c432bcfaca6f81dcf42d32f7b54ea (diff) | |
download | ims-e5b4dbbb0a4c0f6a9d624eb6a223227958e5066b.tar.gz |
Snap for 8543353 from d5b08f9b046c432bcfaca6f81dcf42d32f7b54ea to tm-qpr1-release
Change-Id: I8230e504dc9340216076ec9d90c3928090cfca52
5 files changed, 47 insertions, 197 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/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java b/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java index d8531a70..d87eea9e 100644 --- a/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java +++ b/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java @@ -30,10 +30,10 @@ import android.util.LocalLog; import android.util.Log; import com.android.ims.RcsFeatureManager; +import com.android.ims.rcs.uce.UceStatsWriter; import com.android.ims.rcs.uce.presence.pidfparser.PidfParser; import com.android.ims.rcs.uce.presence.publish.PublishController.PublishControllerCallback; import com.android.ims.rcs.uce.presence.publish.PublishController.PublishTriggerType; -import com.android.ims.rcs.uce.UceStatsWriter; import com.android.ims.rcs.uce.util.UceUtils; import com.android.internal.annotations.VisibleForTesting; @@ -199,7 +199,7 @@ public class PublishProcessor { // Check if it has provisioned. When the provisioning changes, a new publish request will // be triggered. - if (!UceUtils.isEabProvisioned(mContext, mSubId)) { + if (!isEabProvisioned()) { logd("isPublishAllowed: NOT provisioned"); return false; } @@ -509,6 +509,11 @@ public class PublishProcessor { mProcessorState = processorState; } + @VisibleForTesting + protected boolean isEabProvisioned() { + return UceUtils.isEabProvisioned(mContext, mSubId); + } + private void logd(String log) { Log.d(LOG_TAG, getLogPrefix().append(log).toString()); } diff --git a/src/java/com/android/ims/rcs/uce/util/UceUtils.java b/src/java/com/android/ims/rcs/uce/util/UceUtils.java index ae98393a..58796983 100644 --- a/src/java/com/android/ims/rcs/uce/util/UceUtils.java +++ b/src/java/com/android/ims/rcs/uce/util/UceUtils.java @@ -24,7 +24,9 @@ import android.preference.PreferenceManager; import android.provider.BlockedNumberContract; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; +import android.telephony.ims.ImsRcsManager; import android.telephony.ims.ProvisioningManager; +import android.telephony.ims.stub.ImsRegistrationImplBase; import android.text.TextUtils; import android.util.Log; @@ -100,9 +102,9 @@ public class UceUtils { } try { ProvisioningManager manager = ProvisioningManager.createForSubscriptionId(subId); - isProvisioned = manager.getProvisioningIntValue( - ProvisioningManager.KEY_EAB_PROVISIONING_STATUS) - == ProvisioningManager.PROVISIONING_VALUE_ENABLED; + isProvisioned = manager.getRcsProvisioningStatusForCapability( + ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE, + ImsRegistrationImplBase.REGISTRATION_TECH_LTE); } catch (Exception e) { Log.w(LOG_TAG, "isEabProvisioned: exception=" + e.getMessage()); } 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), diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java index f632ca5b..4e8cdfdc 100644 --- a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java +++ b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java @@ -17,6 +17,7 @@ package com.android.ims.rcs.uce.presence.publish; import static android.telephony.ims.RcsContactPresenceTuple.TUPLE_BASIC_STATUS_OPEN; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; @@ -25,6 +26,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; +import android.content.Context; import android.net.Uri; import android.telephony.ims.RcsContactPresenceTuple; import android.telephony.ims.RcsContactUceCapability; @@ -58,6 +60,20 @@ public class PublishProcessorTest extends ImsTestBase { private int mSub = 1; private long mTaskId = 1L; + public static class TestPublishProcessor extends PublishProcessor { + public TestPublishProcessor(Context context, int subId, + DeviceCapabilityInfo capabilityInfo, + PublishControllerCallback publishCtrlCallback, + UceStatsWriter instance) { + super(context, subId, capabilityInfo, publishCtrlCallback, instance); + } + + @Override + protected boolean isEabProvisioned() { + return true; + } + } + @Before public void setUp() throws Exception { super.setUp(); @@ -254,7 +270,7 @@ public class PublishProcessorTest extends ImsTestBase { } private PublishProcessor getPublishProcessor() { - PublishProcessor publishProcessor = new PublishProcessor(mContext, mSub, + PublishProcessor publishProcessor = new TestPublishProcessor(mContext, mSub, mDeviceCapabilities, mPublishCtrlCallback, mUceStatsWriter); publishProcessor.setProcessorState(mProcessorState); publishProcessor.onRcsConnected(mRcsFeatureManager); |