From 3ed97e63bb222560811e0cf0724688d0860524d3 Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Mon, 18 Jul 2016 18:17:08 +0900 Subject: [PATCH] Add an isListen method to NetworkRequests. This allows simplification of the ConnectivityService code. Bug: 23113288 Change-Id: I124544b99c5a920124e9a3d31cda8c6d2abc21fd --- core/java/android/net/NetworkRequest.java | 9 +++++++++ .../java/com/android/server/ConnectivityService.java | 10 +++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java index 847d82bbd7..4501f7b089 100644 --- a/core/java/android/net/NetworkRequest.java +++ b/core/java/android/net/NetworkRequest.java @@ -283,6 +283,15 @@ public class NetworkRequest implements Parcelable { } }; + /** + * Returns true iff. the contained NetworkRequest is of type LISTEN. + * + * @hide + */ + public boolean isListen() { + return type == Type.LISTEN; + } + /** * Returns true iff. the contained NetworkRequest is one that: * diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index ef41f49a9d..051cb2d805 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2283,7 +2283,7 @@ public class ConnectivityService extends IConnectivityManager.Stub if (VDBG) log("NetworkFactory connected"); // A network factory has connected. Send it all current NetworkRequests. for (NetworkRequestInfo nri : mNetworkRequests.values()) { - if (!nri.request.isRequest()) continue; + if (nri.request.isListen()) continue; NetworkAgentInfo nai = mNetworkForRequestId.get(nri.request.requestId); ac.sendMessage(android.net.NetworkFactory.CMD_REQUEST_NETWORK, (nai != null ? nai.getCurrentScore() : 0), 0, nri.request); @@ -2425,7 +2425,7 @@ public class ConnectivityService extends IConnectivityManager.Stub private void handleRegisterNetworkRequest(NetworkRequestInfo nri) { mNetworkRequests.put(nri.request, nri); mNetworkRequestInfoLogs.log("REGISTER " + nri); - if (!nri.request.isRequest()) { + if (nri.request.isListen()) { for (NetworkAgentInfo network : mNetworkAgentInfos.values()) { if (nri.request.networkCapabilities.hasSignalStrength() && network.satisfiesImmutableCapabilitiesOf(nri.request)) { @@ -4573,7 +4573,7 @@ public class ConnectivityService extends IConnectivityManager.Stub for (int i = 0; i < nai.numNetworkRequests(); i++) { NetworkRequest nr = nai.requestAt(i); // Don't send listening requests to factories. b/17393458 - if (!nr.isRequest()) continue; + if (nr.isListen()) continue; sendUpdatedScoreToFactories(nr, nai.getCurrentScore()); } } @@ -4667,7 +4667,7 @@ public class ConnectivityService extends IConnectivityManager.Stub for (int i = 0; i < nai.numNetworkRequests(); i++) { NetworkRequest nr = nai.requestAt(i); // Ignore listening requests. - if (!nr.isRequest()) continue; + if (nr.isListen()) continue; loge("Dead network still had at least " + nr); break; } @@ -4759,7 +4759,7 @@ public class ConnectivityService extends IConnectivityManager.Stub // check if it satisfies the NetworkCapabilities if (VDBG) log(" checking if request is satisfied: " + nri.request); if (satisfies) { - if (!nri.request.isRequest()) { + if (nri.request.isListen()) { // This is not a request, it's a callback listener. // Add it to newNetwork regardless of score. if (newNetwork.addRequest(nri.request)) addedRequests.add(nri);