summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;