diff --git a/tests/unit/java/com/android/server/ConnectivityServiceTest.java b/tests/unit/java/com/android/server/ConnectivityServiceTest.java old mode 100644 new mode 100755 index d7440bb126..e23e72d49d --- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java @@ -16451,6 +16451,26 @@ public class ConnectivityServiceTest { assertNull(readHead.poll(TEST_CALLBACK_TIMEOUT_MS, it -> true)); } + @Test + public void testOfferNetwork_ChecksArgumentsOutsideOfHandler() throws Exception { + final TestableNetworkOfferCallback callback = new TestableNetworkOfferCallback( + TIMEOUT_MS /* timeout */, TEST_CALLBACK_TIMEOUT_MS /* noCallbackTimeout */); + final NetworkProvider testProvider = new NetworkProvider(mServiceContext, + mCsHandlerThread.getLooper(), "Test provider"); + final NetworkCapabilities caps = new NetworkCapabilities.Builder() + .addCapability(NET_CAPABILITY_INTERNET) + .addCapability(NET_CAPABILITY_NOT_VCN_MANAGED) + .build(); + + final NetworkScore score = new NetworkScore.Builder().build(); + testProvider.registerNetworkOffer(score, caps, r -> r.run(), callback); + testProvider.unregisterNetworkOffer(callback); + + assertThrows(NullPointerException.class, + () -> mService.offerNetwork(100, score, caps, null)); + assertThrows(NullPointerException.class, () -> mService.unofferNetwork(null)); + } + @Test public void testIgnoreValidationAfterRoamDisabled() throws Exception { assumeFalse(SdkLevel.isAtLeastT());