[NS A21] More cleanup
Test: FrameworksNetTests NetworkStackTests
Change-Id: I4771f2e9151ff16a7045d9c3025ac686f244b22d
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index d96362c..692b050 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -6468,8 +6468,9 @@
// before LegacyTypeTracker sends legacy broadcasts
for (NetworkRequestInfo nri : addedRequests) notifyNetworkAvailable(newNetwork, nri);
- // Second pass: process all listens.
- if (wasBackgroundNetwork != newNetwork.isBackgroundNetwork()) {
+ // Maybe the network changed background states. Update its capabilities.
+ final boolean backgroundChanged = wasBackgroundNetwork != newNetwork.isBackgroundNetwork();
+ if (backgroundChanged) {
final NetworkCapabilities newNc = mixInCapabilities(newNetwork,
newNetwork.networkCapabilities);
@@ -6486,13 +6487,10 @@
synchronized (newNetwork) {
newNetwork.setNetworkCapabilities(newNc);
}
-
- // The requestable capabilities and the score can't have changed, therefore the change
- // in background can't affect any requests. Only processing the listens is fine.
- processListenRequests(newNetwork, true);
- } else {
- processListenRequests(newNetwork, false);
}
+
+ // Finally, process listen requests.
+ processListenRequests(newNetwork, backgroundChanged);
}
/**