Minor cleanups to NetworkStats interface tracking.
Currently, when a network goes into CONNECTED state, we call updateLinkProperties and then notifyIfacesChangedForNetworkStats. The latter is unnecessary, as there are exactly two cases: 1. networkAgent.linkProperties != null: updateLinkProperties will call notifyIfacesChangedForNetworkStats, because oldLp is null and networkAgent.linkProperties is not null. 2. networkAgent.linkProperties is null: there is no need to call notifyIfacesChangedForNetworkStats, because no interfaces were added or removed. When they are, updateLinkProperties will be called again. Removing the call to notifyIfacesChangedForNetworkStats avoids a stats poll, which is a minor performance improvement. Also, remove the NetworkStatsService code to do asynchronous interface updates, since it has no callers. Bug: 72107146 Test: builds, boots Test: runtest frameworks-net Change-Id: I9337ea26c0505a1c66ceda01254b68e25cd7972c
This commit is contained in:
@@ -5439,8 +5439,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
if (!networkAgent.everConnected && state == NetworkInfo.State.CONNECTED) {
|
||||
networkAgent.everConnected = true;
|
||||
|
||||
if (networkAgent.linkProperties == null) {
|
||||
Slog.wtf(TAG, networkAgent.name() + " connected with null LinkProperties");
|
||||
}
|
||||
|
||||
updateLinkProperties(networkAgent, null);
|
||||
notifyIfacesChangedForNetworkStats();
|
||||
|
||||
networkAgent.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
|
||||
scheduleUnvalidatedPrompt(networkAgent);
|
||||
|
||||
Reference in New Issue
Block a user