Merge "CTS test for TelephonyManager#isManualNetworkSelectionAllowed"
diff --git a/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java b/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
index 929eae0..395c78b 100644
--- a/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
+++ b/tests/tests/carrierapi/src/android/carrierapi/cts/CarrierApiTest.java
@@ -563,6 +563,16 @@
}
}
+ public void testIsManualNetworkSelectionAllowed() throws Exception {
+ if (!hasCellular) return;
+
+ try {
+ assertTrue(mTelephonyManager.isManualNetworkSelectionAllowed());
+ } catch (SecurityException e) {
+ failMessage();
+ }
+ }
+
public void testSubscriptionInfoChangeListener() throws Exception {
if (!hasCellular) return;
final AtomicReference<SecurityException> error = new AtomicReference<>();
diff --git a/tests/tests/permission/telephony/src/android/permission/cts/telephony/TelephonyManagerPermissionTest.java b/tests/tests/permission/telephony/src/android/permission/cts/telephony/TelephonyManagerPermissionTest.java
index b050ee0..108cfb0 100644
--- a/tests/tests/permission/telephony/src/android/permission/cts/telephony/TelephonyManagerPermissionTest.java
+++ b/tests/tests/permission/telephony/src/android/permission/cts/telephony/TelephonyManagerPermissionTest.java
@@ -200,6 +200,22 @@
}
}
+ /**
+ * Tests that isManualNetworkSelectionAllowed requires permission
+ * Expects a security exception since the caller does not have carrier privileges.
+ */
+ @Test
+ public void testIsManualNetworkSelectionAllowedWithoutPermission() {
+ if (!mHasTelephony) {
+ return;
+ }
+ try {
+ mTelephonyManager.isManualNetworkSelectionAllowed();
+ fail("Expected SecurityException. App does not have carrier privileges.");
+ } catch (SecurityException expected) {
+ }
+ }
+
/**
* Verify that Telephony related broadcasts are protected.
*/
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 4492561..e5f5007 100644
--- a/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java
+++ b/tests/tests/telephony/current/src/android/telephony/cts/TelephonyManagerTest.java
@@ -1855,6 +1855,19 @@
}
/**
+ * Tests that the device properly check whether selection mode was manual.
+ */
+ @Test
+ public void testIsManualNetworkSelectionAllowed() {
+ if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
+ Log.d(TAG, "Skipping test that requires FEATURE_TELEPHONY");
+ return;
+ }
+ assertTrue(ShellIdentityUtils.invokeMethodWithShellPermissions(mTelephonyManager,
+ (tm) -> tm.isManualNetworkSelectionAllowed()));
+ }
+
+ /**
* Construct a CallAttributes object and test getters.
*/
@Test