From cd397a204208fefd32221ca78b1ffa2511fea7f2 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Fri, 22 Nov 2019 22:33:33 +0900 Subject: [PATCH] [NS A22] Small refactoring The point of this is to be able to move parts of processListenRequests independently. Test: FrameworksNetTests Change-Id: I6c889b15696123c1120221977b0f36fa3d91de56 --- .../android/server/ConnectivityService.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 692b050f0c..fc9c9cd364 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -6271,8 +6271,18 @@ public class ConnectivityService extends IConnectivityManager.Stub updateAllVpnsCapabilities(); } - private void processListenRequests(NetworkAgentInfo nai, boolean capabilitiesChanged) { + private void processListenRequests(@NonNull NetworkAgentInfo nai, boolean capabilitiesChanged) { // For consistency with previous behaviour, send onLost callbacks before onAvailable. + processNewlyLostListenRequests(nai); + + if (capabilitiesChanged) { + notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_CAP_CHANGED); + } + + processNewlySatisfiedListenRequests(nai); + } + + private void processNewlyLostListenRequests(@NonNull final NetworkAgentInfo nai) { for (NetworkRequestInfo nri : mNetworkRequests.values()) { NetworkRequest nr = nri.request; if (!nr.isListen()) continue; @@ -6281,11 +6291,9 @@ public class ConnectivityService extends IConnectivityManager.Stub callCallbackForRequest(nri, nai, ConnectivityManager.CALLBACK_LOST, 0); } } + } - if (capabilitiesChanged) { - notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_CAP_CHANGED); - } - + private void processNewlySatisfiedListenRequests(@NonNull final NetworkAgentInfo nai) { for (NetworkRequestInfo nri : mNetworkRequests.values()) { NetworkRequest nr = nri.request; if (!nr.isListen()) continue;