diff options
author | Hui Wang <huiwang@google.com> | 2021-10-27 02:35:52 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-10-27 02:35:52 +0000 |
commit | 0257be94ad9cdd85517a5f3ba7907ba7d031e484 (patch) | |
tree | 0c1ac6091153e4e1c81b5c0c953e5b32e46861eb | |
parent | 40850260d9d20b47a885740c0513c59e1d0e0b54 (diff) | |
parent | 21ecc36ebfd111868e0c3ce85d2a632589bedb57 (diff) | |
download | telephony-android-s-v2-preview-1.tar.gz |
Merge "Match phoneId in the record if the subId is invalid"android-s-v2-preview-2android-s-v2-preview-1android-s-v2-beta-2android-s-v2-preview-1
-rw-r--r-- | tests/telephonytests/src/com/android/internal/telephony/TelephonyRegistryTest.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/telephonytests/src/com/android/internal/telephony/TelephonyRegistryTest.java b/tests/telephonytests/src/com/android/internal/telephony/TelephonyRegistryTest.java index 1d5bce64db..c04bcfb58a 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/TelephonyRegistryTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/TelephonyRegistryTest.java @@ -724,4 +724,67 @@ public class TelephonyRegistryTest extends TelephonyTest { processAllMessages(); assertEquals(lceList, mLinkCapacityEstimateList); } + + @Test + public void testPreciseDataConnectionStateChangedForInvalidSubId() { + //set dual sim + doReturn(2).when(mTelephonyManager).getActiveModemCount(); + mContext.sendBroadcast(new Intent(ACTION_MULTI_SIM_CONFIG_CHANGED)); + // set default slot + mContext.sendBroadcast(new Intent(ACTION_DEFAULT_SUBSCRIPTION_CHANGED) + .putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, 2) + .putExtra(SubscriptionManager.EXTRA_SLOT_INDEX, 0)); + processAllMessages(); + + final int subId = 1; + int[] events = {TelephonyCallback.EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED}; + doReturn(mMockSubInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt()); + doReturn(1).when(mMockSubInfo).getSimSlotIndex(); + + mTelephonyRegistry.listenWithEventList(subId, mContext.getOpPackageName(), + mContext.getAttributionTag(), mTelephonyCallback.callback, events, true); + processAllMessages(); + + // notify data connection with invalid sub id and default phone id + mTelephonyRegistry.notifyDataConnectionForSubscriber( + /*default phoneId*/ 0, /*invalid subId*/ -1, + new PreciseDataConnectionState.Builder() + .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) + .setId(1) + .setState(TelephonyManager.DATA_CONNECTED) + .setNetworkType(TelephonyManager.NETWORK_TYPE_LTE) + .setApnSetting(new ApnSetting.Builder() + .setApnTypeBitmask(ApnSetting.TYPE_IMS) + .setApnName("ims") + .setEntryName("ims") + .build()) + .setLinkProperties(new LinkProperties()) + .setFailCause(0) + .build()); + + processAllMessages(); + + assertEquals(0, mTelephonyCallback.invocationCount.get()); + + // notify data connection with invalid sub id and default phone id + mTelephonyRegistry.notifyDataConnectionForSubscriber( + /*target phoneId*/ 1, /*invalid subId*/ -1, + new PreciseDataConnectionState.Builder() + .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN) + .setId(2) + .setState(TelephonyManager.DATA_SUSPENDED) + .setNetworkType(TelephonyManager.NETWORK_TYPE_LTE) + .setApnSetting(new ApnSetting.Builder() + .setApnTypeBitmask(ApnSetting.TYPE_IMS) + .setApnName("ims") + .setEntryName("ims") + .build()) + .setLinkProperties(new LinkProperties()) + .setFailCause(0) + .build()); + + processAllMessages(); + + assertEquals(1, mTelephonyCallback.invocationCount.get()); + } } |