diff options
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 8 | ||||
| -rw-r--r-- | tests/net/java/com/android/server/ConnectivityServiceTest.java | 15 |
2 files changed, 16 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index cf3ca65f312f..82f9e7d01023 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -1377,7 +1377,7 @@ public class ConnectivityService extends IConnectivityManager.Stub } final String action = blocked ? "BLOCKED" : "UNBLOCKED"; final NetworkRequest satisfiedRequest = nri.getSatisfiedRequest(); - int requestId = satisfiedRequest != null + final int requestId = satisfiedRequest != null ? satisfiedRequest.requestId : nri.mRequests.get(0).requestId; mNetworkInfoBlockingLogs.log(String.format( "%s %d(%d) on netId %d", action, nri.mUid, requestId, net.getNetId())); @@ -2712,7 +2712,7 @@ public class ConnectivityService extends IConnectivityManager.Stub * Return an array of all current NetworkRequest sorted by request id. */ @VisibleForTesting - protected NetworkRequestInfo[] requestsSortedById() { + NetworkRequestInfo[] requestsSortedById() { NetworkRequestInfo[] requests = new NetworkRequestInfo[0]; requests = mNetworkRequests.values().toArray(requests); // Sort the array based off the NRI containing the min requestId in its requests. @@ -5527,7 +5527,7 @@ public class ConnectivityService extends IConnectivityManager.Stub public void binderDied() { log("ConnectivityService NetworkRequestInfo binderDied(" + mRequests + ", " + mBinder + ")"); - releaseNetworkRequest(mRequests); + releaseNetworkRequests(mRequests); } @Override @@ -5854,7 +5854,7 @@ public class ConnectivityService extends IConnectivityManager.Stub return mNextNetworkProviderId.getAndIncrement(); } - private void releaseNetworkRequest(List<NetworkRequest> networkRequests) { + private void releaseNetworkRequests(List<NetworkRequest> networkRequests) { for (int i = 0; i < networkRequests.size(); i++) { releaseNetworkRequest(networkRequests.get(i)); } diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index bb7505be1435..8defa2d5dff7 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -7812,7 +7812,16 @@ public class ConnectivityServiceTest { @Test public void testDumpDoesNotCrash() { - StringWriter stringWriter = new StringWriter(); + // Filing a couple requests prior to testing the dump. + final TestNetworkCallback genericNetworkCallback = new TestNetworkCallback(); + final TestNetworkCallback wifiNetworkCallback = new TestNetworkCallback(); + final NetworkRequest genericRequest = new NetworkRequest.Builder() + .clearCapabilities().build(); + final NetworkRequest wifiRequest = new NetworkRequest.Builder() + .addTransportType(TRANSPORT_WIFI).build(); + mCm.registerNetworkCallback(genericRequest, genericNetworkCallback); + mCm.registerNetworkCallback(wifiRequest, wifiNetworkCallback); + final StringWriter stringWriter = new StringWriter(); mService.dump(new FileDescriptor(), new PrintWriter(stringWriter), new String[0]); @@ -7834,11 +7843,11 @@ public class ConnectivityServiceTest { mCm.registerNetworkCallback(wifiRequest, wifiNetworkCallback); mCm.registerNetworkCallback(cellRequest, cellNetworkCallback); - ConnectivityService.NetworkRequestInfo[] nriOutput = mService.requestsSortedById(); + final ConnectivityService.NetworkRequestInfo[] nriOutput = mService.requestsSortedById(); assertTrue(nriOutput.length > 1); for (int i = 0; i < nriOutput.length - 1; i++) { - boolean isRequestIdInOrder = + final boolean isRequestIdInOrder = nriOutput[i].mRequests.get(0).requestId < nriOutput[i + 1].mRequests.get(0).requestId; assertTrue(isRequestIdInOrder); |