aggressively blacklist WifiConfiguration for the purpose of switching network
In cases where networks are not properly configured, WiFi might tries to repeatdly
switch from one network to a bad network, or might try to roam and renew DHCP which can fail.
In KK, WiFi autojoin would try other networks (by cycling to network it sees) and
end up associated to a "good" network. In L release even thought WiFi might pick
a good network it will still repeatedly try to switch to what it thinks is a better
network and fail, thus annoying the user whose connection becomes unstable.
This CL tries to remember networks that have seen multiple DHCP or auth failure in
the past and for those networks it disable roaming temporarily.
That is, if wifi is not associated to any network, it will tries to join a network
aggressively, however if wifi is currently associated to a network, it will not try
to switch to a new network if that new network has seen multiple failure in the past.
The maximum blacklist time is set to 2 days for now.
An example of such situation is:
- user has multiple SSID at home, one of which is incorrectly configured with a wrong password
- broken DHCP situation (potentially: multiple servers on home network, broken implementation incorrecting NAK'ing DHCP requests but properly serving DHCP offer...)
3 files changed