Add static IpClient logging
Support keeping IpClient logs around and dumping them
during dumpsys. Previously we got this benefit for
wifi by virtue of WifiStateMachine's long-lived nature.
Now that this is changing we need to be sure we have
logs, and this method gets us Ethernet logs as well.
Bug: 62476366
Bug: 77999594
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
- dumpsys connmetrics [ipclient] works
Merged-In: Ib4daf0902cae91acadbe9965de1fb73c96a47bec
Merged-In: Ie947394fabcaca7fc1d067f095c2442ee2704593
Change-Id: I1136a83de8097fdb4130debe1eaf689be7132fe5
(cherry picked from commit 78b85e6ca3)
This commit is contained in:
@@ -129,6 +129,7 @@ import com.android.internal.net.NetworkStatsFactory;
|
|||||||
import com.android.internal.net.VpnConfig;
|
import com.android.internal.net.VpnConfig;
|
||||||
import com.android.internal.net.VpnInfo;
|
import com.android.internal.net.VpnInfo;
|
||||||
import com.android.internal.net.VpnProfile;
|
import com.android.internal.net.VpnProfile;
|
||||||
|
import com.android.internal.util.ArrayUtils;
|
||||||
import com.android.internal.util.AsyncChannel;
|
import com.android.internal.util.AsyncChannel;
|
||||||
import com.android.internal.util.DumpUtils;
|
import com.android.internal.util.DumpUtils;
|
||||||
import com.android.internal.util.IndentingPrintWriter;
|
import com.android.internal.util.IndentingPrintWriter;
|
||||||
@@ -1935,13 +1936,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean argsContain(String[] args, String target) {
|
|
||||||
for (String arg : args) {
|
|
||||||
if (target.equals(arg)) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void dumpNetworkDiagnostics(IndentingPrintWriter pw) {
|
private void dumpNetworkDiagnostics(IndentingPrintWriter pw) {
|
||||||
final List<NetworkDiagnostics> netDiags = new ArrayList<NetworkDiagnostics>();
|
final List<NetworkDiagnostics> netDiags = new ArrayList<NetworkDiagnostics>();
|
||||||
final long DIAG_TIME_MS = 5000;
|
final long DIAG_TIME_MS = 5000;
|
||||||
@@ -1965,10 +1959,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " ");
|
final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " ");
|
||||||
if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
|
if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return;
|
||||||
|
|
||||||
if (argsContain(args, DIAG_ARG)) {
|
if (ArrayUtils.contains(args, DIAG_ARG)) {
|
||||||
dumpNetworkDiagnostics(pw);
|
dumpNetworkDiagnostics(pw);
|
||||||
return;
|
return;
|
||||||
} else if (argsContain(args, TETHERING_ARG)) {
|
} else if (ArrayUtils.contains(args, TETHERING_ARG)) {
|
||||||
mTethering.dump(fd, pw, args);
|
mTethering.dump(fd, pw, args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -2033,7 +2027,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
pw.println();
|
pw.println();
|
||||||
dumpAvoidBadWifiSettings(pw);
|
dumpAvoidBadWifiSettings(pw);
|
||||||
|
|
||||||
if (argsContain(args, SHORT_ARG) == false) {
|
if (ArrayUtils.contains(args, SHORT_ARG) == false) {
|
||||||
pw.println();
|
pw.println();
|
||||||
synchronized (mValidationLogs) {
|
synchronized (mValidationLogs) {
|
||||||
pw.println("mValidationLogs (most recent first):");
|
pw.println("mValidationLogs (most recent first):");
|
||||||
|
|||||||
Reference in New Issue
Block a user