History log of /frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
04ed430cee11431c829333a48966a2e060477393 06-Apr-2018 Erik Kline <ek@google.com> Register NetworkRequest callbacks with a handler

Test: as follows
- builds, flashes, boots
- settings changes that cause the "x" to appear and disappear
from the wifi icon don't crash
- runtest frameworks-net passes (kinda no related)
Bug: 64133961
Bug: 77285360
Change-Id: I8af34d623ce265545a2ec42b56c5e87b4d077f58
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
c159d529422e33dc6233bafafd4aba932b985892 28-Mar-2018 Jeff Sharkey <jsharkey@android.com> Tidy up users of TRANSPORT constants.

Some call sites using explicit TRANSPORT types want to know about the
raw underlying transport, and they don't want to know about VPNs
that are going over that transport.

For example, SettingsLib always wants to know about the actual
Wi-Fi network, so it uses NOT_VPN to avoid being confused by VPN
networks that are backed by a TRANSPORT_WIFI network.

GnssLocationProvider wants to know about any validated internet
access, regardless of the underlying transport.

Test: atest com.android.settingslib.wifi
Bug: 68499889
Change-Id: Ib5897946d856444d9ff3b54c4aeace6baa42f8bf
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
93d591bccb9cf67ea79a701f87249b22b1075509 19-Mar-2018 Sundeep Ghuman <sghuman@google.com> Prevent callbacks after onStop is called.

Bug: 74196862
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Idab27f7d493fdd097d55aac40750912e454addb2
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
5fde6405f853e33eebeef2edfcad5b4ee2d96653 22-Feb-2018 Sundeep Ghuman <sghuman@google.com> Add tests to prevent NPE regression.

Bug: 73484770
Test: runtest --path frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
Change-Id: Idd909dc3ac78ba9ed75ff06040b2c0842a7c74b8
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
06ec3bed0e9847411e4bdd4875a92295368e8771 21-Feb-2018 Sundeep Ghuman <sghuman@google.com> Display connected AP when there are no scanresults

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
1. Visual verification of UI when opening WifiSettings directly from
screen off longer than 5 minutes (no scan results scenario).

Change-Id: I7e4d9a3abb861b485b0a952a1a4b822f2460bdc2
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
062bf5a90c332a923218409dbcae6fe6d8c3b26d 21-Feb-2018 Sundeep Ghuman <sghuman@google.com> Fix tests broken in ag/3574286

Changes made during review process broke a test, and this was not caught
via presubmits. Fixing now.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I7ce84c7cd1653966beb8980250e64a590def7fc9
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
5886a94d6c277d6743719ffe1ce8d29db3e1414f 07-Feb-2018 Sundeep Ghuman <sghuman@google.com> Simplify synchronization and delete dead code.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I4767503ce201b1f5f46b5c297f00f759793a3922
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
f34217408a91459544c7d5c0f6654cbb169be966 08-Feb-2018 Sundeep Ghuman <sghuman@google.com> Convert forceUpdate to 'onStart' lifecycle event.

Although the AccessPointControllerImpl class is modified, there is no
longer a wifi picker in QuickSettings.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
Manual testing of WifiSettings cold start / resumption scenarios for UI
jank

Change-Id: Ib28edebb0acf4160cc9eda7c1620c1b4280dcdc4
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
dc67f4d26c2403a7b69d0252eb20004509a822f1 01-Feb-2018 Sundeep Ghuman <sghuman@google.com> Change WifiListenerWrapper to WifiListenExecutor.

The executor no longer instantiates it's on main thread handler, and
instead uses ThreadUtils.postOnMainThread.

Also clean up WifiTracker tests, since the custom Handlers have been
removed, and the broadcast receiver method is invoked directly in the
tests, it is no longer necessary to wait for handlers to finish processing
messages.

Although the only asynchronous source code (invocation of WifiListener
methods) is now mockable via WifiListenerExecutor injection,
CountDownLatches used in cases where verifying multiple mock invocations
would be confusing due to test setup behavior.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I485c62d81ec2cdd3d53ed3e258ae6b40837cdc51
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
bcb5373c8b883217efbdf73b1b4f2078a6b519f4 31-Jan-2018 Sundeep Ghuman <sghuman@google.com> Delete the WorkHandler class.

All work is still performed on the given workThread, just without the
need for a custom Handler class.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Id4509821e51a1a8e1b171710b33b83212f2a506a
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
cf114b60fa868da30d063592a15aae4b218910d8 30-Jan-2018 Sundeep Ghuman <sghuman@google.com> Cleanup updateAccessPoints for readability.

Non functional refactor.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I32f832b396e2eca51f9c4e20ad50e9123e1ba144
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
c5bbecb35dadfafebad2f9a7a117138fbe6a0471 30-Jan-2018 Sundeep Ghuman <sghuman@google.com> Consolidate all work in the WorkHandler.

Fix flakey tests, and remove indeterminism in tests but asserting all
latches successfully countdown.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I68f108929d563bc323a28bdfb3c9eb514630630b
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
bb39991c525f69cc5ed3829ab13abff7c4e721ef 30-Jan-2018 Sundeep Ghuman <sghuman@google.com> Remove the double lists in WifiTracker.

This CL completes the final removal of the double handler, double list,
pending notification complexity that was introduced ag/1396615 as a
'fix' to improper API implementation of the AccessPointListener
callback. The implementation erroneously refetched the entire
WifiTracker list and then performed its own sorting everytime an
individual AccessPoint was updated, instead of waiting for WifiTracker's
WifiListener.onAccessPointsChanged (plural) method instead.

Those changes have now been reverted, and the underlying SetupWizard
code has changed since then such that it does not need to be modified to
prevent regressions.

Bug: 37674366
Test: 1. runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
2. runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
3. Manual testing of WifiSettings for visual jank
4. Startup and manual inspection of SetupWizard Wifi Picker.

Change-Id: Ia4079859a7a892983ecf55ba8eab13d20120ff99
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
91f4ccb4b7ea6136da1f8f2ee49f7eea281126b9 27-Jan-2018 Sundeep Ghuman <sghuman@google.com> Delete the MainHandler and remaining code.

As of ag/3516264 this is no longer required. Next CL will remove the
double lists and pending notification structure.

Bug: 37674366
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
1. Manual testing of WifiSettings for visual jank
2. Start up and confirmation of SetupWizard wifi picker.

Change-Id: I3f2c649375f245295a00177f805d6d3e883fe656
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
c0cf84845a63966db1a79604b5df7985d913d1ae 27-Jan-2018 Sundeep Ghuman <sghuman@google.com> Remove methods from MainHandler.

Followup from ag/3516264 where callbacks are now already invoked on the
main thread. There is no reason to execute this methods on the
MainThread. Removing UPDATE_ACCESS_POINTS in following CL as it has more logic
in that requires careful modification.

Also make changes to how verbose logging is determined (now respects
logging tag as well as developer option) and log callbacks.

Bug: 37674366
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I373af3a65596d478ec25bd2c67a41fc3c7033beb
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
0d492e8365d1d8ca3b5469f697e1a9c6b484023b 26-Jan-2018 Sundeep Ghuman <sghuman@google.com> Clean up updateAccessPoints.

Remove obsolete logic, refactor for efficiency and readability. No
longer make redundant, duplicate IPCs.

Bug: b/68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I1a1077c1adaacbd759521451a994a7655befdf58
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
8d157e38f201b05c2a73c798d9a9a9e94f7975f3 25-Jan-2018 Sundeep Ghuman <sghuman@google.com> Remove unused variables and resulting conditionals.

WifiTracker always is used in 'includeScans' mode, and is never used in
includeSaved mode. The former variable was not even referenced. The
original functionality of includeSaved true and includeScans mode was
for rendering the Saved Access Points page, which is now provided by
another utility. All calling apps currently filter out unreachable saved
networks they receive from WifiTracker.

Subsequent CLs will modify the updateAccessPointsLocked loop to simply
insert config data into existing APs, thus reducing the complexity of
thi class.

Bug: 68030053
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I7adb6de2e700c48543d7a43419527052f2909cc0
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
86cc9b7f5cebb2e1e7ed214c57d6132a0ce50959 25-Jan-2018 Sundeep Ghuman <sghuman@google.com> Execute all callbacks on the MainThread.

This is a precursory step which will allow us to delete the double
handlers that currently exist in WifiTracker.

Bug: 37674366
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Ieea1af712b80ea6ede358d7a1004e489e11c6009
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
04f7f34a713062ec3fd54a4c19481e9f76819899 24-Jan-2018 Sundeep Ghuman <sghuman@google.com> Remove double cache eviction logic.

WifiTracker and AccessPoint both maintain their own caches of
ScanResults and dictate their own grouping logic. This leads to various
issues, such as dropping APs during network selection. Remove the double
cache eviction logic, making WifiTracker the source of truth for
evicting and grouping ScanResults.

Consolidate on AccessPoint time based eviction logic. In place swap of
logic, with subsequent wifi tracker clean up and cache rekeying to
follow in later CLs. Logic was left as close to original location for
reviewer ease and will be rearranged in following CLs.

Moves existing key generation logic from AccessPointPreference into
AccessPoint.java

BUG: 64989100
Test: runtest runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
make RunSettingsLibRoboTests
make RunSettingsRoboTests
Manual inspection of WifiSettings jitter when changing networks / moving
across floors.

Change-Id: Id30a34b08e14fc8da2c9d29dfcb5d1e8973cc18c
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
7a064c27d19df6d175b7e41e3c0cfa56a4143f5e 10-Oct-2017 Tony Mantler <nicoya@google.com> Delete WifiTracker#getCurrentAccessPoints

Also remove freshly obsoleted code

Bug: 67640649
Test: RunSettingsLibRoboTests
Change-Id: I271553b4953a3073df8c9bf82ba24f1478920151
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
0edf09bd36d218b596189006bad9246142151950 29-Sep-2017 Tony Mantler <nicoya@google.com> Make WifiTracker lifecycle aware

Bug: 66953027
Test: m -j checkbuild
Change-Id: I0609a16a3b2afd2af689ff44896a9a82138fa370
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
e7c9eed55c1ae995945b481e42e05e6ab71414bb 14-Sep-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Delete content observers."
64bf090377fd1674ed581ead5de6767c514ed373 11-Sep-2017 Sundeep Ghuman <sghuman@google.com> Delete content observers.

Read the values during start tracking only to avoid waste.

Bug: b/63073866
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Ied79516088faa45dc6d031b909adbe472a83a445
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
db9b94c195f056248b1f5c3b4ef5e907c1b82028 06-Sep-2017 Sundeep Ghuman <sghuman@google.com> Do not pause scanning during Network state changes.

This prevents UI bugs in WifiSettings where scan results would become to
old upon switching networks and thus all the APs would be removed from
the wifi picker. Now scanning is only paused/resumed during start/stop
tracking as well as on wifi state changes between enabled/ not enabled.

Also adds additional logging to scan result age in verbose logging.

Bug: b/64989100
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
Manual: 1. Repeated switch back and forth between different networks.
2. Ensure that AccessPoints in WifiSettings do not disappear after new
connections.

Change-Id: I11e424bcce799a5f3d003a955dcee004294058b7
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
9bb85d3c4d0698e41dd5a27a534d55d9f983daaf 29-Aug-2017 Sundeep Ghuman <sghuman@google.com> Change score cache eviction time to settings value.

Reduce default eviction time from intended 24 hours (erroneously input
as 24 days) to 20 minutes.

Bug: b/63073866
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java

Change-Id: I89eae2483b9a65a65d7cf5b1151952609b6b7fd7
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
5e0535ec0a08306b4153e4cea5be289ed08cb786 17-Aug-2017 Eric Schwarzenbach <easchwar@google.com> Fix flaky WifiTracker tests.

Injects the IntentFilter into the WifiTracker constructor, allowing
us to pass an empty IntentFilter into tests so that sticky system
broadcasts can be ignored.

Bug: 64495679
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Ic095e222284179c48bbc5f198a949f14ccbd8489
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
d1e449267a68220e84c45065ed0d6eb8fe393ed0 07-Aug-2017 Sundeep Ghuman <sghuman@google.com> Refactor WifiTracker sStaleScanResults.

In ag/2580164, in order to minimize changes, we used mutable static
state in WifiTracker to control cache eviction. This breaks a certain
flow in SetupWizard. This change reverts sStaleScanResults to an
instance member and then pipes the value into the AccessPoint update
call to control cache eviction instead of relying on error prone use of
mutable static state.

Bug: 63479352
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
&&
runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
Manual: See bug

Change-Id: Ia6d79c1904294da69841cbdf6eafbf42fa70f2d0
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
f5b7da9b3262edea5907b60d10505450575f78d0 26-Jul-2017 Sundeep Ghuman <sghuman@google.com> Merge "Do not evict scan results in cold start." into oc-dr1-dev
am: d68b6dc56b

Change-Id: If442689c6a05ad261a846a5252d9a0256520508e
d68b6dc56b2e0c3124ec53a791cf14a612fcc4a8 26-Jul-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Do not evict scan results in cold start." into oc-dr1-dev
4205874ec745d8b254f283bbee12e2f41a57f8e6 22-Jul-2017 Sundeep Ghuman <sghuman@google.com> Do not evict scan results in cold start.

When starting WifiTracker, show whatever results are available from
platform until new scan results come in. This allows us to show the best
available results from the previous location scan. Once we have resumed
scanning and new scan results come in, the previous logic of evicting
scan results older than 15 seconds applies.

Also prevent unnecessary onConnectedChanged callbacks from being fired,
which may unnecessarily cause UI reloading bars to appear by performing
unnecessary work.

Bug: b/38212080
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java &&
runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I3db9d98425b3d2fc66fa0757807a318d0c7456ee
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
a28050ae42edb487239d9800b173ea334981f2b5 13-Jul-2017 Sundeep Ghuman <sghuman@google.com> Use scores from connected AP only.

When connected to a specific base station, show the speed label for that
specific access point, rather than the best label for all similar access
points in the area.

Bug: b/63073866
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java

Change-Id: Ic3b3c5838ca8b43daa226335125bb8046dee3884
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
fe77678e345803ebb004c3cc02fef312f3485e93 14-Jul-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix debug logging in WifiTracker."
75f9480341c75aeeaa3a96aad9535a08b6b1bdb8 27-Jun-2017 Sundeep Ghuman <sghuman@google.com> Do not clear scores during stopTracking.

Bug: b/63034725
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Ic15c7f42ec9a3883e8ba34194d9a9410457e4399
(cherry picked from commit 4bb84116636b51bf6925580df569fdeedf6061ae)
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
39ad5d8d70e7d3e39c1ae47b7bca12b4d32589d0 12-Jul-2017 Sundeep Ghuman <sghuman@google.com> Fix debug logging in WifiTracker.

Add support for 'sVerboseLogging' which is set for developer options, as
well as dynamically checking Debug log level.

Bug: b/63364648
Test: NA - logging only change
Change-Id: I73d1dc384c81114b039e21b076add3a563f38bfc
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
4bb84116636b51bf6925580df569fdeedf6061ae 27-Jun-2017 Sundeep Ghuman <sghuman@google.com> Do not clear scores during stopTracking.

Bug: b/63034725
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Ic15c7f42ec9a3883e8ba34194d9a9410457e4399
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
d2b84a8229c45495647e8d67088e64bc3ba735f5 05-Jul-2017 Sundeep Ghuman <sghuman@google.com> Change initial value of mStaleScanResults to true.

In ag/2409026 we introduced a stale scan result bit to prevent callbacks
from sticky broadcasts from occuring until we have fetched the latest
set of scan results. However, this initial value was set to false hence
there is a race condition in which the currently connected network can
still be shown without any other networks, as the scan results have not
yet been processed.

By changing the initial value to true, we address this race condition.

Bug: b/62493360
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I5f2108e17d2c549e2176ccf64e640fbd4808b5f1
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
6829db0cb6438a6179d979b101449e8cbb1bd4b3 30-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove IPC calls from synchronized block." into oc-dr1-dev
e801309908e26e60496a787e4a19cc906830dcdb 22-Jun-2017 Sundeep Ghuman <sghuman@google.com> Clear AccessPoints in WifiTracker when Wifi is Off.

When Wifi is not Enabled, we should clear existing access points. This
avoids showing stale data when wifi is turned back on. Since this method can
now invoke onAccessPointsChanged callbacks, add extra gating for
mStaleScanResults.

Improve test flakiness by waiting for Work and Main handlers to
finish processing messages before continuing.

Bug: b/37832771
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I34faabec01a7188debe3c3b2fe6a0e02f49b320f
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
266b409d17acb111f670598c679e8b6514616564 17-Jun-2017 Sundeep Ghuman <sghuman@google.com> Remove IPC calls from synchronized block.

updateAccessPointsLocked holds mLock to avoid concurrent modifications.
When WifiSettings onStop is called, it calls the trackers stopTracking
method, it is also synchonized on mLock, hence the main thread is blocked
until updateAccessPoints finished. If the IPCs take too long, this can
cause an ANR. Refactor the IPC calls outside of the synchonized block to
avoid this condition.

Also mark certain tests as flakey.

Bug: b/62343176
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I2b6aff8fafe859dfc1a5192c2d352a65cfa73cbb
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
73df65acd7606f23f36d5e4c182d276611f8d2e2 15-Jun-2017 Sundeep Ghuman <sghuman@google.com> Merge "Create a staleScanResults bit." into oc-dev
am: d1094717a1

Change-Id: I1a4ea5a52093fa2cd9fe1bc321786c349d4c4f11
d4a79acdfa6565279c772eba944fb72abec83dc3 08-Jun-2017 Sundeep Ghuman <sghuman@google.com> Create a staleScanResults bit.

This bit is set to true during stop tracking and will not change until
fresh scan results come in. This bit is used to prevent
onAccessPointsChanged callbacks from being invoked until other new scan
results are processed.

This is necessary to fix a UI issue in WifiSettings during app
resumption where sticky broadcasts from other intents come in before
a new scan result is available, causing us to clear out all shown APs
since the ScanResults are stale and thus removed from the picker.

Bug: b/38212080
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I2f1fd84d1ab3461d9c8eac9511b90ba7533879c1
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
889e961477cc1057439ceec7468120af6b21099e 06-Jun-2017 Sundeep Ghuman <sghuman@google.com> DO NOT MERGE: Kill Wifi Badging in OC.

Speed labeling is turned on in O-DR hence this CL should not be merged
into master. Using the merged in tag below which implements speed
labeling (ag/2346102) to prevent this CL from being merged into upstream
branches which need scoring ui.

Merged-In: I0fd96da6a06dafd8c8ebb435a2725ab155bd26ed

Bug: b/35628911
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I5740f68be25d5ec297f1f7dc3b3e59203cec2eb5
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
abea72628644c5faf232ebed5afe10d6198d7de9 31-May-2017 Peter Qiu <zqiu@google.com> wifi: add utility function to return saved configurations

The saved configurations included saved Wi-Fi networks and
Passpoint profiles.

Bug: 62048284
Test: manual test
Change-Id: I55be798d5f36fa678bf69d9f910ca10ed952518a
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
047b2997cf127956072a8da95db574c8d51422cb 11-May-2017 Sundeep Ghuman <sghuman@google.com> Add extra debug logging to WifiTracker.

Bug: b/38212080
Test: NA
Change-Id: I1f5d1a1d43a1dd4d9ce2235d3a53d043d4e2120d
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
221327dc05a2976e6a10733bb1f8d1befb9c4f3e 03-May-2017 Sundeep Ghuman <sghuman@google.com> Fix Array Index out of bounds error.

This error was caused by concurrent modification of the
mPendingNotifications SparseIntArray which fell outside the
synchronization block in copyAndNotifyListeners. Now the entire
copyAndNotifyListeners is synchronized on mLock.

Bug: b/37775443
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I19e8a4ecea5cd45122f4ca89f8ed959e500c951a
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
ce6bab87e6e37c124f4a23cbbacaf04f23fa95fc 20-Apr-2017 Sundeep Ghuman <sghuman@google.com> Use synchronization rather than locking in WifiTracker.

This vastly simplifies WifiTracker usage. The existing locking behavior
closed a lock on thread A, depended on thread B to open it, and would
block on Thread A until thread B did. However, thread B can also block
on this lock, hence if Thread A closes the lock between thread B opening
it and blocking on it, and deadlock would result in an ANR that would
crash WifiSettings (see b/37530557 for another example).

All work on the WorkHandler is now synchronized, as a preliminary step
to removing the worker thread altogether, pending discussions with original
author on the threads creation.

Also fix test flakiness, an indirect byproduct of now simplifying concurrency
issues in this class. Fixes b/37581732.

Together with the other changes in this topic, this CL resolves all known
wifi picker jank and no ANRs have been witnessed.

Bug: b/37504190
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I0e47a4d50372beb2d141189276b1a4d9230c0d98
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
71f4a82b51f53ba7b99fc7f1d1f81a29b7c88072 19-Apr-2017 Sundeep Ghuman <sghuman@google.com> Remove all pending callbacks in stopTracking.

This prevents callbacks occurring on the Settings UI thread in the
WifiSettings fragment after its Activity is already destroyed. When
removing pending ACCESS_POINTS_CHANGED_MESSAGES, release the lock.

Also fixed some flakey tests due to threading issues.

Bug: b/37472533
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I764caf52e38b7f7e33c67c7ea3aa3d2301095dca
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
9c0b97ea66548a5ff93379c3731bb00d75ae4648 14-Apr-2017 Sundeep Ghuman <sghuman@google.com> Synchronously update APs in during forceUpdate.

This helps with jank in the Wifi Picker.

Bug: b/36406983
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: Ia667940dd12dc910f7658da445637268132a0058
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
8c792880937fbdeba884bfffe86412b5ed537930 05-Apr-2017 Sundeep Ghuman <sghuman@google.com> Listen to RSSI_CHANGED_ACTION broadcasts in WifiTracker.

This solves issues where the phone status bar and connected AP in the
picker are out of date.

Bug: 35971425
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/and
roid/settingslib/wifi/WifiTrackerTest.java

Change-Id: I2a7c50de6c754623fd262aac4e9e21d6bd7fc5cf
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
21f6868d8096ca2ff64cdb9fdc4457277d70bf07 04-Apr-2017 Stephen Chen <stewchen@google.com> Set AccessPoint metered bit using ScoredNetwork, WifiInfo, and WifiConfiguration.

Bug: 36888471
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java

Change-Id: I5228512a832665916520658acddc9bf93d78a1a1
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
ced37dba7b2ce04ea65a47273d5892ace90ac33c 14-Mar-2017 Peter Qiu <zqiu@google.com> SettingsLib: wifi: encapsulate Passpoint configuration in AccessPoint

The configurations that are managed by "Saved Networks" page are
centered around the abstraction of AccessPoint. Since we will
need to manage Passpoint configuration in the "Saved Networks"
(for configuration removal), encapsulate necessary information
in an AccessPoint for a Passpoint configuration.

Bug: 34207710
Test: manual test
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
Change-Id: Ide556f5ec6c4ef9e1f82016efe17dc9860f298de
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
7c665f783f6e2eafad3fc3bffc4ff19df0883742 27-Mar-2017 Peter Qiu <zqiu@google.com> Merge "wifi: catch UnsupportedOperationException for getMatchingWifiConfig" am: ae3bae715e am: 78eeb9b090
am: bc3fefbacd

Change-Id: I2fa6998d854ca61aa18ef2e61ed6a7196ed0be4d
0ffb89d1d1ebcd6388ee99652beaedd4c11ea3d4 27-Mar-2017 Peter Qiu <zqiu@google.com> wifi: catch UnsupportedOperationException for getMatchingWifiConfig

On a device without Passpoint support, an UnsupportedOperationException
will be thrown when invoking WifiManager#getMatchingWifiConfig.
So catch it to avoid crash.

Bug: 36649203
Test: manually set config_wifi_hotspot2_enabled to false and verify
Settings app doesn't crash

Change-Id: I69f37897449033da9d21edda9953ad2738f7e314
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
a80ae0c0b6797ac2f56c40824cd7cd39b74d6ce4 24-Mar-2017 Amin Shaikh <ashaikh@google.com> Store the number of saved networks in WifiTracker.

Bug: 36532777
Test: runtest --path frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
Change-Id: Ia43ba22e271c08a6dc17683b993fd8231057e45e
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
54bdcfa08180a69b852c8f71b39d30f0061ce6ff 09-Mar-2017 Sundeep Ghuman <sghuman@google.com> Consolidate getRssi logic to return mRssi.

Changed previous getRssi method to updateeRssi in order to clarify
process, and also changed logic to return current mRssi when the given
AP is active. mRssi is set directly from WifiInfo for active networks.
For non-active networks we return the highest Rssi for any recently seen
BSSID (multiple APs with the same SSID are grouped together).

Change getSeen to updateSeen for consistency, although seen is never
used anywhere.

Also fixes b/34889252.

Bug: b/36077865
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java

Change-Id: Ic52df41b8eb317e83d835c745b404007a53cf5d7
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
dc6cf4b683c6b8af678dc7f50c069879013f9fa5 09-Mar-2017 Sundeep Ghuman <sghuman@google.com> Necessary AccessPoint visibility change for WifiNetworkDetailsFragment.

Refactor constant name in WifiTracker for readability.

Bug: 34713316
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I41b0d69303d0452e2c2c22bcbddc34ae3932e99e
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
2b48990b9c111b99b2a786f84e38de306dad48b3 23-Feb-2017 Sundeep Ghuman <sghuman@google.com> Process the NetworkInfo before updating AccessPoints.

This fixes a UI issue where the Tracker first displays the connected
accessPoint as inactive before processing the connected state, which
causes the list to jump around.

Also add useful debugging information to AccessPoint toString.

Bug: 35681450
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
Change-Id: I9a8356cfdd2e5be2da58ce5de82e228fddf301f9
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
6ee49f2245ad0062d178cbdabb8398138b50b890 01-Feb-2017 Peter Qiu <zqiu@google.com> SettingsLib: wifi: Fixed AccessPoint tracking for Passpoint networks

Previously, we were using provider name as the "SSID" for
Passpoint networks, and use it to compare against real SSIDs,
which obvious doesn't match. So fix it.

Also removed the Passpoint specific logics in WifiTracker for
tracking Passpoint networks, since there shouldn't any
difference in tracking Passpoint APs and normal APs.

Additional work is still needed for managing installed
Passpoint configurations in the "Saved networks" page,
and it is being tracked by b/34207710. The Passpoint configuration
is not an "Access Point" per se, it is a network profile.

Bug: 34455883
Test: Install a Globla Reach Passpoint profile on a bullhead,
verify device auto connects to a Global Reach AP and UI
(QS, QS+, and Settings) correctly reflects it.

Change-Id: I63e66f683f8cb96e664516b130f5e7bc02358a10
Merged-In: I63e66f683f8cb96e664516b130f5e7bc02358a10
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
f8a420097e54a369d3bd1aa152ea0eea58ff5c94 21-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "SettingsLib: wifi: Fixed AccessPoint tracking for Passpoint networks"
fde900dbbd8c2d2863274804db287deb0af9ccc4 15-Feb-2017 Stephen Chen <stewchen@google.com> Fail safely on invalid ScanResults when creating NetworkKey

Added tests for NetworkKey#createFromScanResult

Bug: 34671341
Test: runtest --path
frameworks/base/core/tests/coretests/src/android/net/NetworkKeyTest.java
runtest --path
frameworks/base/services/tests/servicestests/src/com/android/server/NetworkScoreServiceTest.java

Change-Id: Ideac1615917649cd3934421228a82aeed37e7ad1
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
ac7b43616e8329fb19c1cfd6ec33637f4b0a1090 09-Feb-2017 Sundeep Ghuman <sghuman@google.com> Serially (un/)register score cache in WifiTracker.

Before the cache unregistration logic was posted to the worker thread.
However, when WifiSettings is quit, the onDestroy method immediately
kills the WorkHandler. This caused unregistration to never occur, which
left the cache registered and the listener to try to post work on the
dead worker thread. The cache is now registered and unregistered
serially in start and stop tracking, respectively. Furthermore, the
cachelistener is running on the mainHandler as it is a lightweight task
(posting to work handler).

Bug: 34891717
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java

Change-Id: I7739fdbe036be5b2870be45f33f670fd69d69af1
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
2c3b5ee2be5da70a6ac19e7348da3d94cf2eddae 01-Feb-2017 Peter Qiu <zqiu@google.com> SettingsLib: wifi: Fixed AccessPoint tracking for Passpoint networks

Previously, we were using provider name as the "SSID" for
Passpoint networks, and use it to compare against real SSIDs,
which obvious doesn't match. So fix it.

Also removed the Passpoint specific logics in WifiTracker for
tracking Passpoint networks, since there shouldn't any
difference in tracking Passpoint APs and normal APs.

Additional work is still needed for managing installed
Passpoint configurations in the "Saved networks" page,
and it is being tracked by b/34207710. The Passpoint configuration
is not an "Access Point" per se, it is a network profile.

Bug: 34455883
Test: Install a Globla Reach Passpoint profile on a bullhead,
verify device auto connects to a Global Reach AP and UI
(QS, QS+, and Settings) correctly reflects it.

Change-Id: I63e66f683f8cb96e664516b130f5e7bc02358a10
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
e869d83ea8558e70682c4c42674097040c7eb966 26-Jan-2017 Sundeep Ghuman <sghuman@google.com> Create Settings Flags to Disable Scoring UI changes.

When disabled, this will prevent badges from being shown in the status
bar or wifi picker as well as prevent access points in the picker from
being rearranged based on ranking scores.

Fix missing permission dropped from previous CL to run
NetworkControllerWifiTest and refactored tests to enable new setting.

Bug: 34712533
Test: runtest --path
frameworks/base/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
and runtest --path
frameworks/base/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerWifiTest.java

Change-Id: I79c97f2205ebb70c0f7f5b1f66f7207055e5769b
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
5519b7b8738bc68bf5af666fb3c453e518b8de66 15-Dec-2016 Sundeep Ghuman <sghuman@google.com> Add rankingScores and badges to WifiPicker.

Adds support to request scores in WifiTracker and then plumb
those scores via AccessPoint.java. AccessPoints will sort on
ranking scores. Show badging in WifiSettings picker.

Bug: 33457699, 33778046
Test: Unit tests
Change-Id: Icc3161cf147b3a9715d6e9f56af574e52ae6c832
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
7d176bcc48eb95d9e2197a54df73459327d5a0a1 25-Oct-2016 Ajay Nadathur <ajayns@google.com> [SettingsLib] Add missing AccessPoint listener

- AccessPointListener was not set on AccessPoint in one of the code
paths and as a result, the UI wasn't notified of changes to the
AccessPoint.

Test: Manually tested and verified that notification changes were
delivered to the UI. Also added unit test.
bug:31945554

Change-Id: I89affada5dead4edc4218f424eec6b7f4a4e26a7
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
d7b689aefcf7548ea0367622c76b4bda9f9833b2 01-Sep-2016 Ajay Nadathur <ajayns@google.com> [SetupWizard] Fix wifi multithreading issues

- Jank on setupwizard's wifi screens caused by concurrent modification
of AccessPoint on Worker thread while the wifi list is being updated
in the Main/UI thread.
- Fix this problem by maintaining two separate lists, one that is
modified in the worker thread and not published to outside components,
while another list that gets published on the main thread. The
AccessPoint changes are computed on the worker thread and once thats
done, the changes are then copied over to the published APs on the
main thread.

Test: Connected to multiple APs through both suw & settings. Did not
notice the jank. Also added unit tests

bug:30704173
Change-Id: I78666608d39d3680b91980c1a7907d239dc82799
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
de629c7ac77719ec6223254825a3e3b099c364c1 20-Apr-2016 Mitchell Wills <mwills@google.com> Update scan and last network info in the WorkThread am: cf0875a am: c441faa
am: 2dbac6c

* commit '2dbac6cee58c343682ebf6590ae170c2acd067e4':
Update scan and last network info in the WorkThread

Change-Id: I1068111b96b907f9f3c839fc497e9d06e1254d26
cf0875a9b69da9da5e16563eca33609e775d9195 18-Apr-2016 Mitchell Wills <mwills@google.com> Update scan and last network info in the WorkThread

This prevents a race condition where mLastInfo is updated while
processing scan results causing a crash.

Change-Id: Ic5147f3851f218c0f697e4ebb324f1cb63d02665
Fixes: 27944510
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
ab313f8443c7dade78b7ae53d18dba002a144425 26-Nov-2015 Lorenzo Colitti <lorenzo@google.com> Don't show "Connected, no Internet" any longer than necessary.

Currently, both the wifi detail view in Quick Settings and the
wifi settings screen show "connected, no internet" for a few
seconds after a network connects. This makes it seem that
network validation is slow, even though usually it only takes
tens or hundreds of milliseconds.

Fix this by updating the access point list when we receive an
onCapabilitiesChanged NetworkCallback for the current wifi
connection.

This also allows us to stop listening to the RSSI_CHANGED_ACTION
broadcast, because:

1. WifiStateMachine only ever sends out that broadcast just after
calling updateCapabilities, which causes an
onCapabilitiesChanged callback to be received.
2. We don't use any of the extras in the RSSI_CHANGED_ACTION
broadcast, only call updateNetworkInfo, which we do on
every onCapabilitiesChanged callback anyway.

While I'm at it, move a variable assignment around to improve
clarity.

Change-Id: I57d3a13754ba4d8c6d58c566713d3f07d0ed2476
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
c856be16530bee8232ba644d8c422041ead71970 04-Nov-2015 Mitchell Wills <mwills@google.com> Merge "Don't cache ScanResults in WifiTracker if there is no SSID"
0775a98e2095224d4b1618a4739543ce6e7f32ec 19-Aug-2015 Sanket Padawe <sanketpadawe@google.com> Fix AP showing up forever in Settings after shutting down that AP.

Bug: 22129483
Change-Id: I1f6abdb0b80c2d2fec5a7dc4026b5230cd29af7b
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
9df79043907870fd4c1bd30b460b138169b92bbf 01-Sep-2015 Mitchell Wills <mwills@google.com> Don't cache ScanResults in WifiTracker if there is no SSID

Bug: 23528076
Change-Id: I118cfafb526fe760bf1d545e09a1559e3867ce06
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
5a42db2e9c4ce5700a321b9c2aa22189598ceeaf 03-Aug-2015 Mitchell Wills <mwills@google.com> Pass connection configuration when setting wifi info

This allows the both the ssid and connection info to be verified when
updating wifi info.

Bug: 22797622
Change-Id: I82d771a299e17469683516c6b1077cb260981812
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
dbd05a98e5ed8cd1a4678790df507d9741da5ba2 06-Jul-2015 Jason Monk <jmonk@google.com> Fix wifi crash

Handle clearing state for resume on the same worker thread as everything
else, this way there can't be concurrent modification.

Bug: 22040227
Change-Id: I9ac78a19fc126c8103f3218e657ca93911d3890d
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
a0d929e505432a8c84f3899696c910db16bd73bf 13-Jun-2015 Vinit Deshpande <vinitd@google.com> Address API review comments

Added a flags field in ScanResult; along with flag
values and methods to read them.

Changed types of passpoint related fields.

Bug: 21342042
Bug: 21572290
Bug: 21343777

Change-Id: I413960de88b387853d11b9e10f92665e9c06a81b
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
fcd4612f70bb22e11bf776c76afc45b03a5b026c 12-Jun-2015 Vinit Deshpande <vinitd@google.com> Fix access point list jumping around in WifiSettings

This happens because the scan times are very aggressive
(to save power); and we don't find all APs on each scan.
So on each scan, some APs are considered lost and some
other are considered found; resulting in reordering the
list.

This change fixes that by requiring 3 scans to confirm
absence of an AP.

Bug: 7263326

Change-Id: I04f61ec5e5aa1589f457645acbf538c7e275a4bf
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
6980d12c5864941e68933705c1f15a102ac348cb 15-Jun-2015 Jason Monk <jmonk@google.com> Make references to ssid use a verbatim TtsSpan

Bug: 20059794
Change-Id: Id92ef11e78547e168f55515dea2fc28519871d6f
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
e04ae8aced5d3e2cb8a3f6fd800e048bd5e572cf 03-Jun-2015 Jason Monk <jmonk@google.com> SettingsLib/Wifi: Run pause/resumes on main thread

To avoid our objects from disappearing out from under us.

Bug: 21581533
Change-Id: Ia6fc9e56271f79c7d8b0f86f9c35351c39c35d29
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
a296c69cc2c798acd070b843c699a9cd1e337ff4 02-Jun-2015 Jason Monk <jmonk@google.com> Handle network info updates while scanning is paused

Bug: 21581533
Change-Id: I4216c3e9b64cb758e32dd93c39061f9d7a642ee0
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
1904081c62eeb1d22c7572829ed0591de7a09af6 01-Jun-2015 Jason Monk <jmonk@google.com> Be more careful with mAccessPoints usage

Bug: 21559453
Change-Id: I1a0bcf7282ad1a651169dea7e8ac5bc618b580d1
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
bf3d1af3d8bd32f410aa5cc44ccdc1df593ef210 22-May-2015 Jason Monk <jmonk@android.com> SettingsLib: Fix wifi crash during settings index

and test it

Bug: 21365029
Change-Id: I9a914773577dcbe591b41c9114ba4d078b5e7369
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
2b51cc30d523cce3609a498c466364caf3ce504e 13-May-2015 Jason Monk <jmonk@google.com> Fix crash from WPS

Also fix the tests to handle the new threadedness while here.

Bug: 20067687
Change-Id: I116bf14c71886b251c2e8bcaeb2c9b0e5f9ec817
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
a42ee81368f4ce469db5a787f0f3a3edd15d9931 12-May-2015 Jason Monk <jmonk@google.com> Fix crash in setup wizard

Clear out any unhandled worker messages before stopping tracking.

Bug: 21048197
Change-Id: I3792215a1e7799bdb93587cd7158c4d5d86de348
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
30d8004dbf1941d9ac8c5c7839c135a1b87a87fc 08-May-2015 Jason Monk <jmonk@google.com> SettingsLib: Do wifi processing in background

Bug: 19520495
Change-Id: Iefad932bd523b26a19e5f902133563341aea7426
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
dcf00c9d0f6f985aef186cfe5d7b63761e2f8104 16-Apr-2015 Vinit Deshpande <vinitd@google.com> Implement 'Available via Passpoint' feature [DO NOT MERGE]

This also fixes the issues related to explicit connection
to passpoint AP, and fixes occassional mention of
'connected via Wi-Fi Assistent'

Change-Id: I152cebafa6259194f1d09a6972a3508156335cb6
(cherry picked from commit ff783cd6cfc82870a6126fe1ef019d21131423fc)
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
fc40600e30e281712f6c2fc899fc3894b8ad0050 16-Apr-2015 Vinit Deshpande <vinitd@google.com> Fix settings UI for passpoint networks [DO NOT MERGE]

This change includes showing the friendly name in saved
networks list and 'Connected via provider' addition for
passpoint connections.

Change-Id: If330baa96dedb099d5989b3df5b9778bbbcb15e3
(cherry picked from commit 597f49cdda63fef1b583e2053341485e8d4e2371)
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
6572eae9d278e7199440aeae9a91f9418e8ab4af 05-Feb-2015 Jason Monk <jmonk@google.com> Fix crash in Wifi QS Panel

When open QS wifi panel while wifi was off was causing a crash from
wifi enabling while the WifiTracker was not in a scanning state.
Fix plus a test enclosed.

Bug: 19322090
Change-Id: Id863cdcbf4aa8d50822de3a200355dbaee74b488
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
d52356aa5e82c7c5db61672bbe8d0f44861f3e59 28-Jan-2015 Jason Monk <jmonk@google.com> Move Settings wifi tracking to SettingsLib

Make SettingsLib capable of tracking which wifi networks are
available/saved and their state.

Also modify Quick Settings to use this code rather than having
its own logic.

Bug: 19180466
Change-Id: Iff9f9aed240d79323dba41496496e8076b9fa6f2
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java