From 54ddecb0f80006a5865be21dcd51b75e6bd9a22c Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Tue, 27 Feb 2018 22:47:01 +0900 Subject: [PATCH] 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 --- .../core/java/com/android/server/ConnectivityService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 3021e6a539..6c24e947c9 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -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);