AI 143395: am: CL 143266 am: CL 143124 Fix bug #1731826, in which auto-connect to remembered networks does not
  take place.
  This has the same underlying cause as bug #1739874, so this fixes that
  bug as well. The problem was that if the supplicant was in the DORMANT
  state at the time a scan-only Wi-Fi lock was released, the command to
  stop the Wi-Fi driver would never be issued. This had two main results:
  first, the driver would stay awake when the screen was blank and it was
  supposed to be sleeping, leading to excessive battery drain, and second,
  when the screen was turned back on, there would be no DRIVER-STARTED
  event generated (because the driver was already running). The
  DRIVER-STARTED event is the trigger for the framework to issue a
  RECONNECT command to the supplicant to cause it leave the DORMANT state
  and look for available remembered networks.
  To assist in tracking down this problem, and any such problems in the
  future, I added four counters to keep track of how many times full and
  scan-only Wi-Fi locks are acquired and released. The counter values
  are output in the dump() method of WifiService. While doing this, I
  noticed that because of missing "break" statements, the battery stats
  that keep track of how much time Wi-Fi locks are held were including
  the time for full locks in the time reported for scan-only locks.
  Original author: ers
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143395
2 files changed