Don't notify on network switch if source network is validated.
Sometimes we switch away from a network to another (e.g., wifi to
cell data) not because the old network is unvalidated, but
because the score is lowered by a low signal strength.
In this case, don't notify the user of a network switch.
Bug: 31132499
Change-Id: I996a6e00096f8cb864fa9b00b36921725a4edb53
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 14243c5..86afe08 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -4699,9 +4699,6 @@
if (VDBG) log(" accepting network in place of " + currentNetwork.name());
currentNetwork.removeRequest(nri.request.requestId);
currentNetwork.lingerRequest(nri.request, now, mLingerDelayMs);
- if (isDefaultRequest(nri)) {
- mLingerMonitor.noteLingerDefaultNetwork(currentNetwork, newNetwork);
- }
affectedNetworks.add(currentNetwork);
} else {
if (VDBG) log(" accepting network in place of null");
@@ -4722,6 +4719,9 @@
if (isDefaultRequest(nri)) {
isNewDefault = true;
oldDefaultNetwork = currentNetwork;
+ if (currentNetwork != null) {
+ mLingerMonitor.noteLingerDefaultNetwork(currentNetwork, newNetwork);
+ }
}
}
} else if (newNetwork.isSatisfyingRequest(nri.request.requestId)) {