From 5912c7b3500f641dc6de7c36e860e6df212769b6 Mon Sep 17 00:00:00 2001 From: Paul Jensen Date: Fri, 3 Jun 2016 13:51:21 -0400 Subject: [PATCH] Include network name in validation logs for dumpsys Previously this was included in the log messages from NetworkMonitor but that has been removed (ag/944107), making it frequently impossible to know what network the logs apply to as there may be no way to correlate NetIDs to WiFi SSIDs or Cellular networks if the log has wrapped. Bug: 26075613 Change-Id: I2e3cd41fffb616ab9f855cb16790360bd3414793 --- .../android/server/ConnectivityService.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 5118b3f2ab..d4f8cb25ae 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -433,15 +433,26 @@ public class ConnectivityService extends IConnectivityManager.Stub // Array of tracking network validation and results private static final int MAX_VALIDATION_LOGS = 10; - private final ArrayDeque> mValidationLogs = - new ArrayDeque>(MAX_VALIDATION_LOGS); + private static class ValidationLog { + final Network mNetwork; + final String mNetworkExtraInfo; + final ReadOnlyLocalLog mLog; - private void addValidationLogs(ReadOnlyLocalLog log, Network network) { + ValidationLog(Network network, String networkExtraInfo, ReadOnlyLocalLog log) { + mNetwork = network; + mNetworkExtraInfo = networkExtraInfo; + mLog = log; + } + } + private final ArrayDeque mValidationLogs = + new ArrayDeque(MAX_VALIDATION_LOGS); + + private void addValidationLogs(ReadOnlyLocalLog log, Network network, String networkExtraInfo) { synchronized(mValidationLogs) { while (mValidationLogs.size() >= MAX_VALIDATION_LOGS) { mValidationLogs.removeLast(); } - mValidationLogs.addFirst(new Pair(network, log)); + mValidationLogs.addFirst(new ValidationLog(network, networkExtraInfo, log)); } } @@ -1950,10 +1961,10 @@ public class ConnectivityService extends IConnectivityManager.Stub pw.println(); synchronized (mValidationLogs) { pw.println("mValidationLogs (most recent first):"); - for (Pair p : mValidationLogs) { - pw.println(p.first); + for (ValidationLog p : mValidationLogs) { + pw.println(p.mNetwork + " - " + p.mNetworkExtraInfo); pw.increaseIndent(); - p.second.dump(fd, pw, args); + p.mLog.dump(fd, pw, args); pw.decreaseIndent(); } } @@ -4253,7 +4264,8 @@ public class ConnectivityService extends IConnectivityManager.Stub synchronized (this) { nai.networkMonitor.systemReady = mSystemReady; } - addValidationLogs(nai.networkMonitor.getValidationLogs(), nai.network); + addValidationLogs(nai.networkMonitor.getValidationLogs(), nai.network, + networkInfo.getExtraInfo()); if (DBG) log("registerNetworkAgent " + nai); mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_AGENT, nai)); return nai.network.netId;