History log of /frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/WifiTrackerFactory.java
2ca3aa94c135a609b92ccb66027dad8b07af5e5b 06-Apr-2017 Sundeep Ghuman <sghuman@google.com> Update comment on why Keep is needed.

Bug: b/36403696
Test: NA
Change-Id: I309a5f14afb34009064f5a6193faa8fb2367b19b
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java
32952e0436ba882a9b68813667be49d0526f3889 31-Mar-2017 Sundeep Ghuman <sghuman@google.com> Create Espresso test for WifiSettings.

This method was being stripped by proguard and hence the tests could not
run.

Bug: b/36403696
Test: runtest --path
packages/apps/Settings/tests/app/src/com/android/settings/wifi/WifiSettingsUiTest.java

Change-Id: I30b26e960a876c0c024154bee809c0ab6e988e39
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java
f4a5b7c49d7a84366e07face953c909eb996bce3 22-Mar-2017 Sundeep Ghuman <sghuman@google.com> Change WifiTrackerFactory methods to static.

Bug: b/36403696
Test: Preliminary step to enable creation of Espresso tests b/36403696
Change-Id: I8be0cc43f22d6ae3bddc4e37b557060e256d7df4
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java
78a309d35317c6917e8498079dd554e037699887 21-Mar-2017 Sundeep Ghuman <sghuman@google.com> Create a way to inject a WifiTracker into WifiSettings.

Bug: b/36403696
Test: Preliminary step to enable creation of Espresso tests b/36403696
Change-Id: I63c49cca0905a9d05964c11b3307ccf1859db7ec
/frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java