summaryrefslogtreecommitdiff
path: root/services/net/java/android/net/NetworkStackClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'services/net/java/android/net/NetworkStackClient.java')
-rw-r--r--services/net/java/android/net/NetworkStackClient.java45
1 files changed, 39 insertions, 6 deletions
diff --git a/services/net/java/android/net/NetworkStackClient.java b/services/net/java/android/net/NetworkStackClient.java
index b7eb5cd61329..865e3b8cc109 100644
--- a/services/net/java/android/net/NetworkStackClient.java
+++ b/services/net/java/android/net/NetworkStackClient.java
@@ -25,18 +25,19 @@ import android.content.Context;
import android.net.dhcp.DhcpServingParamsParcel;
import android.net.dhcp.IDhcpServerCallbacks;
import android.net.ip.IIpClientCallbacks;
+import android.net.util.SharedLog;
import android.os.Binder;
import android.os.IBinder;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
-import android.util.Log;
import android.util.Slog;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
+import java.io.PrintWriter;
import java.util.ArrayList;
/**
@@ -60,6 +61,9 @@ public class NetworkStackClient {
@GuardedBy("mPendingNetStackRequests")
private INetworkStackConnector mConnector;
+ @GuardedBy("mLog")
+ private final SharedLog mLog = new SharedLog(TAG);
+
private volatile boolean mWasSystemServerInitialized = false;
private interface NetworkStackCallback {
@@ -233,23 +237,34 @@ public class NetworkStackClient {
}
/**
- * Log a debug message.
+ * Log a message in the local log.
*/
private void log(@NonNull String message) {
- Log.d(TAG, message);
+ synchronized (mLog) {
+ mLog.log(message);
+ }
}
private void logWtf(@NonNull String message, @Nullable Throwable e) {
Slog.wtf(TAG, message);
- Log.e(TAG, message, e);
+ synchronized (mLog) {
+ mLog.e(message, e);
+ }
}
private void loge(@NonNull String message, @Nullable Throwable e) {
- Log.e(TAG, message, e);
+ synchronized (mLog) {
+ mLog.e(message, e);
+ }
}
+ /**
+ * Log a message in the local and system logs.
+ */
private void logi(@NonNull String message) {
- Log.i(TAG, message);
+ synchronized (mLog) {
+ mLog.i(message);
+ }
}
/**
@@ -305,4 +320,22 @@ public class NetworkStackClient {
request.onNetworkStackConnected(connector);
}
+
+ /**
+ * Dump NetworkStackClient logs to the specified {@link PrintWriter}.
+ */
+ public void dump(PrintWriter pw) {
+ // dump is thread-safe on SharedLog
+ mLog.dump(null, pw, null);
+ // dump connectivity module connector logs.
+ ConnectivityModuleConnector.getInstance().dump(pw);
+
+ final int requestsQueueLength;
+ synchronized (mPendingNetStackRequests) {
+ requestsQueueLength = mPendingNetStackRequests.size();
+ }
+
+ pw.println();
+ pw.println("pendingNetStackRequests length: " + requestsQueueLength);
+ }
}