diff options
Diffstat (limited to 'services/net/java/android/net/NetworkStackClient.java')
-rw-r--r-- | services/net/java/android/net/NetworkStackClient.java | 45 |
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); + } } |