Loading services/core/java/com/android/server/ConnectivityService.java +21 −3 Original line number Original line Diff line number Diff line Loading @@ -449,6 +449,11 @@ public class ConnectivityService extends IConnectivityManager.Stub private static final int MAX_NETWORK_REQUEST_LOGS = 20; private static final int MAX_NETWORK_REQUEST_LOGS = 20; private final LocalLog mNetworkRequestInfoLogs = new LocalLog(MAX_NETWORK_REQUEST_LOGS); private final LocalLog mNetworkRequestInfoLogs = new LocalLog(MAX_NETWORK_REQUEST_LOGS); // NetworkInfo blocked and unblocked String log entries // TODO: consider reducing memory usage. Each log line is ~40 2B chars, for a total of ~8kB. private static final int MAX_NETWORK_INFO_LOGS = 100; private final LocalLog mNetworkInfoBlockingLogs = new LocalLog(MAX_NETWORK_INFO_LOGS); // Array of <Network,ReadOnlyLocalLogs> tracking network validation and results // Array of <Network,ReadOnlyLocalLogs> tracking network validation and results private static final int MAX_VALIDATION_LOGS = 10; private static final int MAX_VALIDATION_LOGS = 10; private static class ValidationLog { private static class ValidationLog { Loading Loading @@ -1013,7 +1018,9 @@ public class ConnectivityService extends IConnectivityManager.Stub } } private void maybeLogBlockedNetworkInfo(NetworkInfo ni, int uid) { private void maybeLogBlockedNetworkInfo(NetworkInfo ni, int uid) { if (ni == null || !LOGD_BLOCKED_NETWORKINFO) return; if (ni == null || !LOGD_BLOCKED_NETWORKINFO) { return; } boolean removed = false; boolean removed = false; boolean added = false; boolean added = false; synchronized (mBlockedAppUids) { synchronized (mBlockedAppUids) { Loading @@ -1023,8 +1030,13 @@ public class ConnectivityService extends IConnectivityManager.Stub removed = true; removed = true; } } } } if (added) log("Returning blocked NetworkInfo to uid=" + uid); if (added) { else if (removed) log("Returning unblocked NetworkInfo to uid=" + uid); log("Returning blocked NetworkInfo to uid=" + uid); mNetworkInfoBlockingLogs.log("BLOCKED " + uid); } else if (removed) { log("Returning unblocked NetworkInfo to uid=" + uid); mNetworkInfoBlockingLogs.log("UNBLOCKED " + uid); } } } /** /** Loading Loading @@ -2027,6 +2039,12 @@ public class ConnectivityService extends IConnectivityManager.Stub pw.increaseIndent(); pw.increaseIndent(); mNetworkRequestInfoLogs.reverseDump(fd, pw, args); mNetworkRequestInfoLogs.reverseDump(fd, pw, args); pw.decreaseIndent(); pw.decreaseIndent(); pw.println(); pw.println("mNetworkInfoBlockingLogs (most recent first):"); pw.increaseIndent(); mNetworkInfoBlockingLogs.reverseDump(fd, pw, args); pw.decreaseIndent(); } } } } Loading Loading
services/core/java/com/android/server/ConnectivityService.java +21 −3 Original line number Original line Diff line number Diff line Loading @@ -449,6 +449,11 @@ public class ConnectivityService extends IConnectivityManager.Stub private static final int MAX_NETWORK_REQUEST_LOGS = 20; private static final int MAX_NETWORK_REQUEST_LOGS = 20; private final LocalLog mNetworkRequestInfoLogs = new LocalLog(MAX_NETWORK_REQUEST_LOGS); private final LocalLog mNetworkRequestInfoLogs = new LocalLog(MAX_NETWORK_REQUEST_LOGS); // NetworkInfo blocked and unblocked String log entries // TODO: consider reducing memory usage. Each log line is ~40 2B chars, for a total of ~8kB. private static final int MAX_NETWORK_INFO_LOGS = 100; private final LocalLog mNetworkInfoBlockingLogs = new LocalLog(MAX_NETWORK_INFO_LOGS); // Array of <Network,ReadOnlyLocalLogs> tracking network validation and results // Array of <Network,ReadOnlyLocalLogs> tracking network validation and results private static final int MAX_VALIDATION_LOGS = 10; private static final int MAX_VALIDATION_LOGS = 10; private static class ValidationLog { private static class ValidationLog { Loading Loading @@ -1013,7 +1018,9 @@ public class ConnectivityService extends IConnectivityManager.Stub } } private void maybeLogBlockedNetworkInfo(NetworkInfo ni, int uid) { private void maybeLogBlockedNetworkInfo(NetworkInfo ni, int uid) { if (ni == null || !LOGD_BLOCKED_NETWORKINFO) return; if (ni == null || !LOGD_BLOCKED_NETWORKINFO) { return; } boolean removed = false; boolean removed = false; boolean added = false; boolean added = false; synchronized (mBlockedAppUids) { synchronized (mBlockedAppUids) { Loading @@ -1023,8 +1030,13 @@ public class ConnectivityService extends IConnectivityManager.Stub removed = true; removed = true; } } } } if (added) log("Returning blocked NetworkInfo to uid=" + uid); if (added) { else if (removed) log("Returning unblocked NetworkInfo to uid=" + uid); log("Returning blocked NetworkInfo to uid=" + uid); mNetworkInfoBlockingLogs.log("BLOCKED " + uid); } else if (removed) { log("Returning unblocked NetworkInfo to uid=" + uid); mNetworkInfoBlockingLogs.log("UNBLOCKED " + uid); } } } /** /** Loading Loading @@ -2027,6 +2039,12 @@ public class ConnectivityService extends IConnectivityManager.Stub pw.increaseIndent(); pw.increaseIndent(); mNetworkRequestInfoLogs.reverseDump(fd, pw, args); mNetworkRequestInfoLogs.reverseDump(fd, pw, args); pw.decreaseIndent(); pw.decreaseIndent(); pw.println(); pw.println("mNetworkInfoBlockingLogs (most recent first):"); pw.increaseIndent(); mNetworkInfoBlockingLogs.reverseDump(fd, pw, args); pw.decreaseIndent(); } } } } Loading