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");
if (isDefaultRequest(nri)) {
isNewDefault = true;
oldDefaultNetwork = currentNetwork;
+ if (currentNetwork != null) {
+ mLingerMonitor.noteLingerDefaultNetwork(currentNetwork, newNetwork);
+ }
}
}
} else if (newNetwork.isSatisfyingRequest(nri.request.requestId)) {
return;
}
+ // Only show the notification if we switched away because a network became unvalidated, not
+ // because its score changed.
+ // TODO: instead of just skipping notification, keep a note of it, and show it if it becomes
+ // unvalidated.
+ if (fromNai.lastValidated) return;
+
if (isNotificationEnabled(fromNai, toNai)) {
notify(fromNai, toNai, forceToast);
}