From d1de8fb748b7aaa743424b353a91e3f2d9ad22c7 Mon Sep 17 00:00:00 2001 From: Erik Kline Date: Tue, 1 May 2018 16:51:44 +0900 Subject: [PATCH] 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 78b85e6ca3780f62cc1cbb74bac756f698922efb) --- .../com/android/server/ConnectivityService.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 76e3131c37..9838de1474 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -129,6 +129,7 @@ import com.android.internal.net.NetworkStatsFactory; import com.android.internal.net.VpnConfig; import com.android.internal.net.VpnInfo; import com.android.internal.net.VpnProfile; +import com.android.internal.util.ArrayUtils; import com.android.internal.util.AsyncChannel; import com.android.internal.util.DumpUtils; import com.android.internal.util.IndentingPrintWriter; @@ -1935,13 +1936,6 @@ public class ConnectivityService extends IConnectivityManager.Stub 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) { final List netDiags = new ArrayList(); final long DIAG_TIME_MS = 5000; @@ -1965,10 +1959,10 @@ public class ConnectivityService extends IConnectivityManager.Stub final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); if (!DumpUtils.checkDumpPermission(mContext, TAG, pw)) return; - if (argsContain(args, DIAG_ARG)) { + if (ArrayUtils.contains(args, DIAG_ARG)) { dumpNetworkDiagnostics(pw); return; - } else if (argsContain(args, TETHERING_ARG)) { + } else if (ArrayUtils.contains(args, TETHERING_ARG)) { mTethering.dump(fd, pw, args); return; } @@ -2033,7 +2027,7 @@ public class ConnectivityService extends IConnectivityManager.Stub pw.println(); dumpAvoidBadWifiSettings(pw); - if (argsContain(args, SHORT_ARG) == false) { + if (ArrayUtils.contains(args, SHORT_ARG) == false) { pw.println(); synchronized (mValidationLogs) { pw.println("mValidationLogs (most recent first):");