summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Paul Jensen <pauljensen@google.com> 2016-06-03 13:51:21 -0400
committer Paul Jensen <pauljensen@google.com> 2016-06-03 13:51:21 -0400
commit0808eb8069ee75b93b3773b4123a85540eae738f (patch)
treec16a64d1dff7342539f4abe2c2befe362c3acca8
parentc4f1bc40326c10fde55f07230e3fe3067d70fbfa (diff)
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
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java28
1 files 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 5118b3f2ab7a..d4f8cb25ae45 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 <Network,ReadOnlyLocalLogs> tracking network validation and results
private static final int MAX_VALIDATION_LOGS = 10;
- private final ArrayDeque<Pair<Network,ReadOnlyLocalLog>> mValidationLogs =
- new ArrayDeque<Pair<Network,ReadOnlyLocalLog>>(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<ValidationLog> mValidationLogs =
+ new ArrayDeque<ValidationLog>(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<Network,ReadOnlyLocalLog> 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;