diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:02:22 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:02:22 +0000 |
commit | ca3b51ac6c185de4d517d0df9c50747c4a5112a0 (patch) | |
tree | 52933cf2b7713a4c25d0fd324994920974372bf7 /tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java | |
parent | 2c2dce297c6e8fd78afed07b308ab87f6131e200 (diff) | |
parent | f61dbc79584e2bd99c6588abed0d176b368a20d5 (diff) | |
download | ims-ca3b51ac6c185de4d517d0df9c50747c4a5112a0.tar.gz |
Snap for 10453563 from f61dbc79584e2bd99c6588abed0d176b368a20d5 to mainline-mediaprovider-releaseaml_mpr_341713020aml_mpr_341614010aml_mpr_341511070aml_mpr_341411070aml_mpr_341313030aml_mpr_341111030aml_mpr_341111020aml_mpr_341015090aml_mpr_341015030aml_mpr_340919000android14-mainline-mediaprovider-release
Change-Id: I29ca257687f757f171c0d6b7d047dfaac389484f
Diffstat (limited to 'tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java')
-rw-r--r-- | tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java | 83 |
1 files changed, 63 insertions, 20 deletions
diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java index 2d170ab6..11350393 100644 --- a/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java +++ b/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java @@ -84,7 +84,6 @@ public class DeviceCapabilityListenerTest extends ImsTestBase { getProvisioningManager(anyInt()); doReturn(true).when(mDeviceCapability).updateTtyPreferredMode(anyInt()); - doReturn(true).when(mDeviceCapability).updateAirplaneMode(anyBoolean()); doReturn(true).when(mDeviceCapability).updateMobileData(anyBoolean()); doReturn(true).when(mDeviceCapability).updateVtSetting(anyBoolean()); doReturn(true).when(mDeviceCapability).updateVtSetting(anyBoolean()); @@ -107,7 +106,8 @@ public class DeviceCapabilityListenerTest extends ImsTestBase { deviceCapListener.initialize(); - verify(mContext).registerReceiver(any(), any()); + verify(mContext).registerReceiver(any(), any(), + eq(android.Manifest.permission.MODIFY_PHONE_STATE), any(), anyInt()); verify(mProvisioningManager).registerProvisioningChangedCallback(any(), any()); } @@ -143,23 +143,6 @@ public class DeviceCapabilityListenerTest extends ImsTestBase { @Test @SmallTest - public void testAirplaneModeChange() throws Exception { - DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener(); - final BroadcastReceiver receiver = deviceCapListener.mReceiver; - - Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); - receiver.onReceive(mContext, intent); - - Handler handler = deviceCapListener.getHandler(); - waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS); - - verify(mDeviceCapability).updateAirplaneMode(anyBoolean()); - verify(mCallback).requestPublishFromInternal( - PublishController.PUBLISH_TRIGGER_AIRPLANE_MODE_CHANGE); - } - - @Test - @SmallTest public void testMmtelRegistration() throws Exception { DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener(); deviceCapListener.setImsCallbackRegistered(true); @@ -171,7 +154,8 @@ public class DeviceCapabilityListenerTest extends ImsTestBase { waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS); verify(mDeviceCapability).updateImsMmtelRegistered(1); - verify(mCallback).requestPublishFromInternal( + // update capability, but not trigger PUBLISH message when MmTel registered. + verify(mCallback, never()).requestPublishFromInternal( PublishController.PUBLISH_TRIGGER_MMTEL_REGISTERED); } @@ -266,6 +250,65 @@ public class DeviceCapabilityListenerTest extends ImsTestBase { verify(mCallback).updateImsUnregistered(); } + @Test + @SmallTest + public void testRcsAndMmtelUnregistration() throws Exception { + DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener(); + deviceCapListener.setImsCallbackRegistered(true); + + Handler handler = deviceCapListener.getHandler(); + ImsReasonInfo info = new ImsReasonInfo(ImsReasonInfo.CODE_LOCAL_NOT_REGISTERED, -1, ""); + // RCS unregistered + RegistrationCallback rcsRegiCallback = deviceCapListener.mRcsRegistrationCallback; + + doReturn(true).when(mDeviceCapability).updateImsRcsUnregistered(); + // RCS is unregistered but MMTEL is registered. + doReturn(true).when(mDeviceCapability).isImsRegistered(); + rcsRegiCallback.onUnregistered(info); + + // MMTEL unregistered + RegistrationCallback mmtelRegiCallback = deviceCapListener.mMmtelRegistrationCallback; + // set the Ims is unregistered + doReturn(false).when(mDeviceCapability).isImsRegistered(); + mmtelRegiCallback.onUnregistered(info); + + waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS); + + // Do not send internal publish trigger + verify(mCallback, never()).requestPublishFromInternal(anyInt()); + // IMS is unregistered. Verify send ImsUnregistered. + verify(mCallback).updateImsUnregistered(); + } + + @Test + @SmallTest + public void testUnregisterRcsOnlyFromImsRegistration() throws Exception { + DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener(); + deviceCapListener.setImsCallbackRegistered(true); + Handler handler = deviceCapListener.getHandler(); + + // set the Ims is registered + doReturn(true).when(mDeviceCapability).isImsRegistered(); + ImsReasonInfo info = new ImsReasonInfo(ImsReasonInfo.CODE_LOCAL_NOT_REGISTERED, -1, ""); + // RCS unregistered + RegistrationCallback rcsRegiCallback = deviceCapListener.mRcsRegistrationCallback; + + doReturn(true).when(mDeviceCapability).updateImsRcsUnregistered(); + // RCS is unregistered but MMTEL is registered. + doReturn(true).when(mDeviceCapability).isImsRegistered(); + rcsRegiCallback.onUnregistered(info); + + waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS); + + verify(mDeviceCapability).updateImsRcsUnregistered(); + // Only RCS unregistered. Verify the request of the modify publish is sent. + verify(mCallback).requestPublishFromInternal( + PublishController.PUBLISH_TRIGGER_RCS_URI_CHANGE); + + // Only RCS unregistered. Verify do not send ImsUnregistered. + verify(mCallback, never()).updateImsUnregistered(); + } + private DeviceCapabilityListener createDeviceCapabilityListener() { DeviceCapabilityListener deviceCapListener = new DeviceCapabilityListener(mContext, mSubId, mDeviceCapability, mCallback, mUceStatsWriter); |