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
|