[NS A30] Note linger out of the rematch loop
This doesn't have to be tested every time.
Test: FrameworksNetTests
Change-Id: Ic5702c8b4bd096860fe55c4d9e4c465703561911
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 461c3ad..9b0be06 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -6573,11 +6573,6 @@
// network. Think about if there is a way to reduce this. Push
// netid->request mapping to each provider?
sendUpdatedScoreToFactories(nri.request, newSatisfier);
- if (isDefaultRequest(nri)) {
- if (previousSatisfier != null) {
- mLingerMonitor.noteLingerDefaultNetwork(previousSatisfier, newSatisfier);
- }
- }
} 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
@@ -6633,6 +6628,9 @@
changes.getNewSatisfier(defaultRequestInfo), oldDefaultNetwork);
if (oldDefaultNetwork != newDefaultNetwork) {
+ if (oldDefaultNetwork != null) {
+ mLingerMonitor.noteLingerDefaultNetwork(oldDefaultNetwork, newDefaultNetwork);
+ }
updateDataActivityTracking(newDefaultNetwork, oldDefaultNetwork);
// Notify system services that this network is up.
makeDefault(newDefaultNetwork);