Test NetworkRegistrationInfo#getRegisteredPlmn
Add a test to ensure that NRI#getRegisteredPlmn() returns
a valid PLMN ID on all registered NRIs, excepting CDMA
and IWLAN.
Bug: 149338200
Test: atest \
TelephonyManagerTest#testNetworkRegistrationInfoRegisteredPlmn
Merged-In: Ib673605bbad14b65a3ff3031cd5f9c27cec75083
Change-Id: Ib673605bbad14b65a3ff3031cd5f9c27cec75083
(cherry picked from commit 2994688aab46409098c50f843a9fdab2576a23fb)
diff --git a/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java b/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java
index 2289eab..f9eece7 100644
--- a/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java
+++ b/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java
@@ -1414,6 +1414,40 @@
}
/**
+ * Basic test to ensure {@link NetworkRegistrationInfo#getRegisteredPlmn()} provides valid
+ * information.
+ */
+ @Test
+ public void testNetworkRegistrationInfoRegisteredPlmn() {
+ if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
+ return;
+ }
+ // get NetworkRegistration object
+ ServiceState ss = mTelephonyManager.getServiceState();
+ assertNotNull(ss);
+
+ boolean hasRegistered = false;
+ for (NetworkRegistrationInfo nwReg : ss.getNetworkRegistrationInfoList()) {
+ if (nwReg.isRegistered()
+ && nwReg.getTransportType() == AccessNetworkConstants.TRANSPORT_TYPE_WWAN) {
+ hasRegistered = true;
+ String plmnId = nwReg.getRegisteredPlmn();
+ // CDMA doesn't have PLMN IDs. Rather than put CID|NID here, instead it will be
+ // empty. It's a case that's becoming less important over time, but for now a
+ // device that's only registered on CDMA needs to pass this test.
+ if (nwReg.getCellIdentity() instanceof android.telephony.CellIdentityCdma) {
+ assertTrue(TextUtils.isEmpty(plmnId));
+ } else {
+ assertFalse(TextUtils.isEmpty(plmnId));
+ assertTrue("PlmnId() out of range [00000 - 999999], PLMN ID=" + plmnId,
+ plmnId.matches("^[0-9]{5,6}$"));
+ }
+ }
+ }
+ assertTrue(hasRegistered);
+ }
+
+ /**
* Basic test to ensure {@link NetworkRegistrationInfo#isRoaming()} does not throw any
* exception.
*/