From 91600692a0190bf5a89d698ad10e868dfe6d8d00 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Fri, 5 Jan 2024 12:55:42 +0900 Subject: [PATCH] Request cell network after carrier config change The cell network may reconnect on carrier config change, so a cell network requested before that may be disconnected after the change. Only request the cell network after the carrier config change, so the network connected after the change is used for the test. Bug: 316154796 Test: atest Change-Id: Id8cd49ae352fd7899cb45efecd5ccfd760a7b1eb --- .../ConnectivityDiagnosticsManagerTest.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/cts/net/src/android/net/cts/ConnectivityDiagnosticsManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityDiagnosticsManagerTest.java index e0fe929777..ceb48d45ef 100644 --- a/tests/cts/net/src/android/net/cts/ConnectivityDiagnosticsManagerTest.java +++ b/tests/cts/net/src/android/net/cts/ConnectivityDiagnosticsManagerTest.java @@ -298,17 +298,6 @@ public class ConnectivityDiagnosticsManagerTest { }, android.Manifest.permission.MODIFY_PHONE_STATE); - // TODO(b/157779832): This should use android.permission.CHANGE_NETWORK_STATE. However, the - // shell does not have CHANGE_NETWORK_STATE, so use CONNECTIVITY_INTERNAL until the shell - // permissions are updated. - runWithShellPermissionIdentity( - () -> mConnectivityManager.requestNetwork( - CELLULAR_NETWORK_REQUEST, testNetworkCallback), - android.Manifest.permission.CONNECTIVITY_INTERNAL); - - final Network network = testNetworkCallback.waitForAvailable(); - assertNotNull(network); - assertTrue("Didn't receive broadcast for ACTION_CARRIER_CONFIG_CHANGED for subId=" + subId, carrierConfigReceiver.waitForCarrierConfigChanged()); @@ -324,6 +313,17 @@ public class ConnectivityDiagnosticsManagerTest { Thread.sleep(5_000); + // TODO(b/157779832): This should use android.permission.CHANGE_NETWORK_STATE. However, the + // shell does not have CHANGE_NETWORK_STATE, so use CONNECTIVITY_INTERNAL until the shell + // permissions are updated. + runWithShellPermissionIdentity( + () -> mConnectivityManager.requestNetwork( + CELLULAR_NETWORK_REQUEST, testNetworkCallback), + android.Manifest.permission.CONNECTIVITY_INTERNAL); + + final Network network = testNetworkCallback.waitForAvailable(); + assertNotNull(network); + // TODO(b/217559768): Receiving carrier config change and immediately checking carrier // privileges is racy, as the CP status is updated after receiving the same signal. Move // the CP check after sleep to temporarily reduce the flakiness. This will soon be fixed