From 3d68dee11913cc271c248652b3a90c6a127da36c Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Wed, 10 Jun 2015 20:25:14 -0700 Subject: [PATCH] Add logging to help debug this issue. Shows: TelephonyNetworkFactories: {TelephonyNetworkFactory - ScoreFilter=50, Filter=[ Transports: CELLULAR Capabilities: MMS&SUPL&DUN&FOTA&IMS&CBS&IA&RCS&XCAP&EIMS& INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN Specifier: <2>], requests=1, refCount=0} {NetworkRequest [ id=1, legacyType=-1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ], score=50, requested=true} bug:20731384 Change-Id: I6a38f195609ad01ff2a2584d07945540ae421586 --- core/java/android/net/NetworkFactory.java | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/core/java/android/net/NetworkFactory.java b/core/java/android/net/NetworkFactory.java index 71fda1cd9614a..5f46c73f645ed 100644 --- a/core/java/android/net/NetworkFactory.java +++ b/core/java/android/net/NetworkFactory.java @@ -25,8 +25,12 @@ import android.util.Log; import android.util.SparseArray; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Protocol; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * A NetworkFactory is an entity that creates NetworkAgent objects. * The bearers register with ConnectivityService using {@link #register} and @@ -158,6 +162,11 @@ public class NetworkFactory extends Handler { this.score = score; this.requested = false; } + + @Override + public String toString() { + return "{" + request + ", score=" + score + ", requested=" + requested + "}"; + } } private void handleAddRequest(NetworkRequest request, int score) { @@ -283,11 +292,22 @@ public class NetworkFactory extends Handler { Log.d(LOG_TAG, s); } + public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { + final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); + pw.println(toString()); + pw.increaseIndent(); + for (int i = 0; i < mNetworkRequests.size(); i++) { + pw.println(mNetworkRequests.valueAt(i)); + } + pw.decreaseIndent(); + } + @Override public String toString() { StringBuilder sb = new StringBuilder("{").append(LOG_TAG).append(" - ScoreFilter="). append(mScore).append(", Filter=").append(mCapabilityFilter).append(", requests="). - append(mNetworkRequests.size()).append("}"); + append(mNetworkRequests.size()).append(", refCount=").append(mRefCount). + append("}"); return sb.toString(); } }