Merge "Update LinkProperties to NetworkAgentInfo only when it's changed" am: 0683c607b6
am: 8862ea3337
Change-Id: I013f7150221d5f8fd53c7d21ca42c865103f8bb9
This commit is contained in:
@@ -2099,12 +2099,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
return new MockableSystemProperties();
|
return new MockableSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTcpBufferSizes(NetworkAgentInfo nai) {
|
// TODO: Replace nai and newLp with TcpBufferSizes and check default network before calling
|
||||||
|
// this method.
|
||||||
|
private void updateTcpBufferSizes(NetworkAgentInfo nai, LinkProperties newLp) {
|
||||||
if (isDefaultNetwork(nai) == false) {
|
if (isDefaultNetwork(nai) == false) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String tcpBufferSizes = nai.linkProperties.getTcpBufferSizes();
|
String tcpBufferSizes = newLp.getTcpBufferSizes();
|
||||||
String[] values = null;
|
String[] values = null;
|
||||||
if (tcpBufferSizes != null) {
|
if (tcpBufferSizes != null) {
|
||||||
values = tcpBufferSizes.split(",");
|
values = tcpBufferSizes.split(",");
|
||||||
@@ -4780,8 +4782,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
updateUids(nai, null, nai.networkCapabilities);
|
updateUids(nai, null, nai.networkCapabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateLinkProperties(NetworkAgentInfo networkAgent, LinkProperties oldLp) {
|
private void updateLinkProperties(NetworkAgentInfo networkAgent, LinkProperties newLp,
|
||||||
LinkProperties newLp = new LinkProperties(networkAgent.linkProperties);
|
LinkProperties oldLp) {
|
||||||
int netId = networkAgent.network.netId;
|
int netId = networkAgent.network.netId;
|
||||||
|
|
||||||
// The NetworkAgentInfo does not know whether clatd is running on its network or not. Before
|
// The NetworkAgentInfo does not know whether clatd is running on its network or not. Before
|
||||||
@@ -4796,7 +4798,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// for (LinkProperties lp : newLp.getStackedLinks()) {
|
// for (LinkProperties lp : newLp.getStackedLinks()) {
|
||||||
// updateMtu(lp, null);
|
// updateMtu(lp, null);
|
||||||
// }
|
// }
|
||||||
updateTcpBufferSizes(networkAgent);
|
updateTcpBufferSizes(networkAgent, newLp);
|
||||||
|
|
||||||
updateRoutes(newLp, oldLp, netId);
|
updateRoutes(newLp, oldLp, netId);
|
||||||
updateDnses(newLp, oldLp, netId);
|
updateDnses(newLp, oldLp, netId);
|
||||||
@@ -4806,8 +4808,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// updateDnses will fetch the private DNS configuration from DnsManager.
|
// updateDnses will fetch the private DNS configuration from DnsManager.
|
||||||
mDnsManager.updatePrivateDnsStatus(netId, newLp);
|
mDnsManager.updatePrivateDnsStatus(netId, newLp);
|
||||||
|
|
||||||
// Start or stop clat accordingly to network state.
|
|
||||||
networkAgent.updateClat(mNMS);
|
|
||||||
if (isDefaultNetwork(networkAgent)) {
|
if (isDefaultNetwork(networkAgent)) {
|
||||||
handleApplyDefaultProxy(newLp.getHttpProxy());
|
handleApplyDefaultProxy(newLp.getHttpProxy());
|
||||||
} else {
|
} else {
|
||||||
@@ -4818,8 +4818,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
synchronized (networkAgent) {
|
synchronized (networkAgent) {
|
||||||
networkAgent.linkProperties = newLp;
|
networkAgent.linkProperties = newLp;
|
||||||
}
|
}
|
||||||
|
// Start or stop clat accordingly to network state.
|
||||||
|
networkAgent.updateClat(mNMS);
|
||||||
notifyIfacesChangedForNetworkStats();
|
notifyIfacesChangedForNetworkStats();
|
||||||
notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
|
if (networkAgent.everConnected) {
|
||||||
|
notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mKeepaliveTracker.handleCheckKeepalivesStillValid(networkAgent);
|
mKeepaliveTracker.handleCheckKeepalivesStillValid(networkAgent);
|
||||||
@@ -5124,13 +5128,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
"; created=" + nai.created +
|
"; created=" + nai.created +
|
||||||
"; everConnected=" + nai.everConnected);
|
"; everConnected=" + nai.everConnected);
|
||||||
}
|
}
|
||||||
LinkProperties oldLp = nai.linkProperties;
|
updateLinkProperties(nai, newLp, new LinkProperties(nai.linkProperties));
|
||||||
synchronized (nai) {
|
|
||||||
nai.linkProperties = newLp;
|
|
||||||
}
|
|
||||||
if (nai.everConnected) {
|
|
||||||
updateLinkProperties(nai, oldLp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendUpdatedScoreToFactories(NetworkAgentInfo nai) {
|
private void sendUpdatedScoreToFactories(NetworkAgentInfo nai) {
|
||||||
@@ -5291,7 +5289,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
|
|
||||||
notifyLockdownVpn(newNetwork);
|
notifyLockdownVpn(newNetwork);
|
||||||
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
|
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
|
||||||
updateTcpBufferSizes(newNetwork);
|
updateTcpBufferSizes(newNetwork, new LinkProperties(newNetwork.linkProperties));
|
||||||
mDnsManager.setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
|
mDnsManager.setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
|
||||||
notifyIfacesChangedForNetworkStats();
|
notifyIfacesChangedForNetworkStats();
|
||||||
}
|
}
|
||||||
@@ -5706,7 +5704,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
handlePerNetworkPrivateDnsConfig(networkAgent, mDnsManager.getPrivateDnsConfig());
|
handlePerNetworkPrivateDnsConfig(networkAgent, mDnsManager.getPrivateDnsConfig());
|
||||||
updateLinkProperties(networkAgent, null);
|
updateLinkProperties(networkAgent, new LinkProperties(networkAgent.linkProperties),
|
||||||
|
null);
|
||||||
|
|
||||||
networkAgent.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
|
networkAgent.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
|
||||||
scheduleUnvalidatedPrompt(networkAgent);
|
scheduleUnvalidatedPrompt(networkAgent);
|
||||||
|
|||||||
Reference in New Issue
Block a user