diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index 7223c194b1..cf5f1c7297 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -3014,9 +3014,9 @@ public class ConnectivityService extends IConnectivityManager.Stub } pw.println(); - pw.print("Current per-app default networks: "); + pw.println("Current network preferences: "); pw.increaseIndent(); - dumpPerAppNetworkPreferences(pw); + dumpNetworkPreferences(pw); pw.decreaseIndent(); pw.println(); @@ -3144,37 +3144,55 @@ public class ConnectivityService extends IConnectivityManager.Stub } } - private void dumpPerAppNetworkPreferences(IndentingPrintWriter pw) { - pw.println("Per-App Network Preference:"); - pw.increaseIndent(); - if (0 == mOemNetworkPreferences.getNetworkPreferences().size()) { - pw.println("none"); - } else { - pw.println(mOemNetworkPreferences.toString()); + private void dumpNetworkPreferences(IndentingPrintWriter pw) { + if (!mProfileNetworkPreferences.isEmpty()) { + pw.println("Profile preferences:"); + pw.increaseIndent(); + pw.println(mProfileNetworkPreferences.preferences); + pw.decreaseIndent(); + } + if (!mOemNetworkPreferences.isEmpty()) { + pw.println("OEM preferences:"); + pw.increaseIndent(); + pw.println(mOemNetworkPreferences); + pw.decreaseIndent(); + } + if (!mMobileDataPreferredUids.isEmpty()) { + pw.println("Mobile data preferred UIDs:"); + pw.increaseIndent(); + pw.println(mMobileDataPreferredUids); + pw.decreaseIndent(); } - pw.decreaseIndent(); + pw.println("Default requests:"); + pw.increaseIndent(); + dumpPerAppDefaultRequests(pw); + pw.decreaseIndent(); + } + + private void dumpPerAppDefaultRequests(IndentingPrintWriter pw) { for (final NetworkRequestInfo defaultRequest : mDefaultNetworkRequests) { if (mDefaultRequest == defaultRequest) { continue; } - final boolean isActive = null != defaultRequest.getSatisfier(); - pw.println("Is per-app network active:"); - pw.increaseIndent(); - pw.println(isActive); - if (isActive) { - pw.println("Active network: " + defaultRequest.getSatisfier().network.netId); - } - pw.println("Tracked UIDs:"); - pw.increaseIndent(); - if (0 == defaultRequest.mRequests.size()) { - pw.println("none, this should never occur."); + final NetworkAgentInfo satisfier = defaultRequest.getSatisfier(); + final String networkOutput; + if (null == satisfier) { + networkOutput = "null"; + } else if (mNoServiceNetwork.equals(satisfier)) { + networkOutput = "no service network"; } else { - pw.println(defaultRequest.mRequests.get(0).networkCapabilities.getUidRanges()); + networkOutput = String.valueOf(satisfier.network.netId); } - pw.decreaseIndent(); - pw.decreaseIndent(); + final String asUidString = (defaultRequest.mAsUid == defaultRequest.mUid) + ? "" : " asUid: " + defaultRequest.mAsUid; + final String requestInfo = "Request: [uid/pid:" + defaultRequest.mUid + "/" + + defaultRequest.mPid + asUidString + "]"; + final String satisfierOutput = "Satisfier: [" + networkOutput + "]" + + " Preference order: " + defaultRequest.mPreferenceOrder + + " Tracked UIDs: " + defaultRequest.getUids(); + pw.println(requestInfo + " - " + satisfierOutput); } }