Merge "Fix a bug where a spurious capabilities callback is sent." into rvc-dev am: acdacbfe65

Change-Id: I47f8f49d7e51ebaec68e7ad678f55fd0087847c7
This commit is contained in:
Chalard Jean
2020-05-21 07:02:49 +00:00
committed by Automerger Merge Worker
2 changed files with 8 additions and 2 deletions

View File

@@ -7134,6 +7134,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
networkAgent.networkCapabilities.addCapability(NET_CAPABILITY_FOREGROUND);
if (!createNativeNetwork(networkAgent)) return;
if (networkAgent.isVPN()) {
// Initialize the VPN capabilities to their starting values according to the
// underlying networks. This will avoid a spurious callback to
// onCapabilitiesUpdated being sent in updateAllVpnCapabilities below as
// the VPN would switch from its default, blank capabilities to those
// that reflect the capabilities of its underlying networks.
updateAllVpnsCapabilities();
}
networkAgent.created = true;
}

View File

@@ -5387,8 +5387,6 @@ public class ConnectivityServiceTest {
// Even though the VPN is unvalidated, it becomes the default network for our app.
callback.expectAvailableCallbacksUnvalidated(vpnNetworkAgent);
// TODO: this looks like a spurious callback.
callback.expectCallback(CallbackEntry.NETWORK_CAPS_UPDATED, vpnNetworkAgent);
callback.assertNoCallback();
assertTrue(vpnNetworkAgent.getScore() > mEthernetNetworkAgent.getScore());