diff --git a/tests/unit/java/com/android/server/ConnectivityServiceTest.java b/tests/unit/java/com/android/server/ConnectivityServiceTest.java index c1c6a8aea9..acd7f27bec 100755 --- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java @@ -3815,13 +3815,13 @@ public class ConnectivityServiceTest { @Test public void testExplicitlySelected() throws Exception { - NetworkRequest request = new NetworkRequest.Builder() + final NetworkRequest request = new NetworkRequest.Builder() .clearCapabilities().addCapability(NET_CAPABILITY_INTERNET) .build(); - TestNetworkCallback callback = new TestNetworkCallback(); + final TestNetworkCallback callback = new TestNetworkCallback(); mCm.registerNetworkCallback(request, callback); - // Bring up validated cell. + // Bring up validated cell mCellAgent = new TestNetworkAgentWrapper(TRANSPORT_CELLULAR); mCellAgent.connect(true); callback.expectAvailableThenValidatedCallbacks(mCellAgent); @@ -3879,6 +3879,12 @@ public class ConnectivityServiceTest { assertEquals(mWiFiAgent.getNetwork(), mCm.getActiveNetwork()); expectUnvalidationCheckWillNotNotify(mWiFiAgent); + // Now request cell so it doesn't disconnect during the test + final NetworkRequest cellRequest = new NetworkRequest.Builder() + .clearCapabilities().addTransportType(TRANSPORT_CELLULAR).build(); + final TestNetworkCallback cellCallback = new TestNetworkCallback(); + mCm.requestNetwork(cellRequest, cellCallback); + mEthernetAgent = new TestNetworkAgentWrapper(TRANSPORT_ETHERNET); mEthernetAgent.connect(true); callback.expectAvailableCallbacksUnvalidated(mEthernetAgent); @@ -3920,6 +3926,7 @@ public class ConnectivityServiceTest { callback.expect(LOST, mWiFiAgent); callback.expect(LOST, mCellAgent); + mCm.unregisterNetworkCallback(cellCallback); } private void doTestFirstEvaluation(