aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHui Wang <huiwang@google.com>2021-10-27 02:35:52 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-10-27 02:35:52 +0000
commit0257be94ad9cdd85517a5f3ba7907ba7d031e484 (patch)
tree0c1ac6091153e4e1c81b5c0c953e5b32e46861eb
parent40850260d9d20b47a885740c0513c59e1d0e0b54 (diff)
parent21ecc36ebfd111868e0c3ce85d2a632589bedb57 (diff)
downloadtelephony-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.java63
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());
+ }
}