summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-09 05:45:49 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-02-09 05:45:49 +0000
commit7a59ea4ca1d0613326befe41d1783fcbb989a977 (patch)
tree52f3eb1fe2b606267331739b5ddff38ee41d6a5a
parent909a3c9f13b5a96ff23ca0df35a083b3f7490e5f (diff)
parentac9ce40d70409a02f5dea8406d490fca6be34aed (diff)
Merge "[NS A41] Cut out a function to update NAI info" am: f0be137c05 am: bbbcec376c am: ac9ce40d70
Change-Id: Ie40f6e1428a7d3a98bb2b83bb6ac9f9224aa3de7
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java54
1 files changed, 27 insertions, 27 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index caacf13d7bc4..32c21b03be04 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -6665,37 +6665,37 @@ public class ConnectivityService extends IConnectivityManager.Stub
final NetworkAgentInfo newSatisfier = entry.getValue();
changes.addRequestReassignment(new NetworkReassignment.RequestReassignment(
nri, previousSatisfier, newSatisfier));
- if (newSatisfier != null) {
- if (VDBG) log("rematch for " + newSatisfier.name());
- if (previousSatisfier != null) {
- if (VDBG || DDBG) {
- log(" accepting network in place of " + previousSatisfier.name());
- }
- previousSatisfier.removeRequest(nri.request.requestId);
- previousSatisfier.lingerRequest(nri.request, now, mLingerDelayMs);
- } else {
- if (VDBG || DDBG) log(" accepting network in place of null");
- }
- newSatisfier.unlingerRequest(nri.request);
- if (!newSatisfier.addRequest(nri.request)) {
- Slog.wtf(TAG, "BUG: " + newSatisfier.name() + " already has " + nri.request);
+ updateSatisfiersForRematchRequest(nri, previousSatisfier, newSatisfier, now);
+ }
+ }
+
+ private void updateSatisfiersForRematchRequest(@NonNull final NetworkRequestInfo nri,
+ @Nullable final NetworkAgentInfo previousSatisfier,
+ @Nullable final NetworkAgentInfo newSatisfier,
+ final long now) {
+ if (newSatisfier != null) {
+ if (VDBG) log("rematch for " + newSatisfier.name());
+ if (previousSatisfier != null) {
+ if (VDBG || DDBG) {
+ log(" accepting network in place of " + previousSatisfier.name());
}
+ previousSatisfier.removeRequest(nri.request.requestId);
+ previousSatisfier.lingerRequest(nri.request, now, mLingerDelayMs);
} else {
- // If "newNetwork" is listed as satisfying "nri" but no longer satisfies "nri",
- // mark it as no longer satisfying "nri". Because networks are processed by
- // rematchAllNetworksAndRequests() in descending score order, "currentNetwork" will
- // match "newNetwork" before this loop will encounter a "currentNetwork" with higher
- // score than "newNetwork" and where "currentNetwork" no longer satisfies "nri".
- // This means this code doesn't have to handle the case where "currentNetwork" no
- // longer satisfies "nri" when "currentNetwork" does not equal "newNetwork".
- if (DBG) {
- log("Network " + newNetwork.name() + " stopped satisfying" +
- " request " + nri.request.requestId);
- }
- newNetwork.removeRequest(nri.request.requestId);
+ if (VDBG || DDBG) log(" accepting network in place of null");
+ }
+ newSatisfier.unlingerRequest(nri.request);
+ if (!newSatisfier.addRequest(nri.request)) {
+ Slog.wtf(TAG, "BUG: " + newSatisfier.name() + " already has " + nri.request);
+ }
+ } else {
+ if (DBG) {
+ log("Network " + previousSatisfier.name() + " stopped satisfying"
+ + " request " + nri.request.requestId);
}
- nri.mSatisfier = newSatisfier;
+ previousSatisfier.removeRequest(nri.request.requestId);
}
+ nri.mSatisfier = newSatisfier;
}
/**