Merge commit '4e08a985418f581b4ca8c46316c85defd7b173cd' into gingerbread-plus-aosp
* commit '4e08a985418f581b4ca8c46316c85defd7b173cd':
fix build DO NOT MERGE
Merge commit 'f8834f878fb6911cbd4719640cd2e6bf3a958a92' into gingerbread-plus-aosp
* commit 'f8834f878fb6911cbd4719640cd2e6bf3a958a92':
fetch macaddr right after supplicant connection
Merge commit 'e22eb863dc4419dcaf329e9e28e3dc1f71f82902' into gingerbread-plus-aosp
* commit 'e22eb863dc4419dcaf329e9e28e3dc1f71f82902':
fix start driver for corner cases DO NOT MERGE
- Force a start when in RUN_STATE_STOPPING since there
could have a stop driver in that state
- When a driver started event is received is received
from the supplicant, force a reconnect since we could
have out of an intermediate stop event that would have
forced the run state to STOPPED
Bug: 3087621
Change-Id: I3652747a267a3da8349a9fd5c4065d3837a0c545
getMacAddress wont go through if the wifi state is not enabled
by the time the connection from the supplicant comes through.
we now fetch the mac address right after a driver start.
Bug: 3072163
Change-Id: I55943e6d618fd7c3170bc579697bc61d70fc8b86
When an entity (NLP for example) acquires
a WifiLock and initiates a scan, scan can
get blocked until driver starts.
scan returns no useful info, scan results
are broadcast when obtained.
Bug: 2964633
Change-Id: Iaefc32bb6b82f0718285a18ac600e6bbbb096e77
Merge commit '58e0eefeb5e2e270e2b04369bbf29fc22abda8d5' into gingerbread-plus-aosp
* commit '58e0eefeb5e2e270e2b04369bbf29fc22abda8d5':
Improve power tracking of WIFI use.
We now distribute "wifi started" time across all apps that are
holding WIFI locks that cause it to be started. But only when
WIFI would not normally be running. Also have a mechanism to
distribute other WIFI work that has happened across those processes
based on their use.
Also fixed a bug where we were not retaining the CPU speed step
stats across boots...!
Change-Id: I00e3153b98429166273750512cc37e7975211ab9
This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like... say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).
To solve this, we introduce a new class WorkSource representing
the source of some work. Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.
For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.
This should also be used elsewhere, such as in the GPS provider,
but this is a good start.
Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
Merge commit '80db4381c010c4dec74c2bf1e02380759e4ff97b' into gingerbread-plus-aosp
* commit '80db4381c010c4dec74c2bf1e02380759e4ff97b':
DO NOT MERGE Enable all networks on screen on
Connectivity to a disabled network never happens.
An old dhcp issue for example prevents
connectivity again in future. Allow connectivity
on all networks on screen on.
Bug: 2129037
Change-Id: I42afc17ddb5cd238e46d7e50f1b6e708e107b35d
Add extension to WifiLock to allow apps to operate
in high performance mode (high power & disable suspend
optimizations for battery consumption).
Bug: 2834260
Change-Id: I8b33d307f3d569bc92ba2139b9ed224ffc147547
Merge commit 'e300b8c10c306b575bbbec29d5572ba92a97785e' into gingerbread-plus-aosp
* commit 'e300b8c10c306b575bbbec29d5572ba92a97785e':
DO NOT MERGE Always set/remove default routes.
Must clean up default route if a default 3g connection is replaced
by a non-default (ie, mms) connection on teh same interface.
Also stop mucking with all connections dns and routes - do it only
for the connection that has changed.
bug:2865974
Change-Id: Ifdf49080fa0413a4d826813706c809975a562dfa
When the driver was configured to run with power save mode disabled the
power save mode incorrectly got reverted back to AUTO mode right after
DHCP response. The power save mode value is now saved so that the device
properly reverts back to a previous mode after DHCP response.
Change-Id: Ie68cd107872d233bf422e24130a1eb9f6432db91
Bug: 2834260
- updates WifiStateTracker to track net.XXX.dnsX properties for name servers
- removes dhcp from WifiNative (use NetworkUtils instead)
Change-Id: Ic69ff253e8784cad34e9291e7970ee38bfa235b9
Reproduce steps:
1. Set a special AP name that contains "=" (looks like "-=^-^=-");
2. Connect to this AP;
3. The display of ssid will be incorrect;
Change-Id: Idc7433a42cf59932f5fb147f5500e0175f745399
When the driver was configured to run with power save mode disabled the
power save mode incorrectly got reverted back to AUTO mode right after
DHCP response. The power save mode value is now saved so that the device
properly reverts back to a previous mode after DHCP response.
Change-Id: I5035aad10146812ecef1be8ea4b22a03e230ccc9
Due to message removal, wakelock could be held forever.
Do a timer only based wakelock release until we do this
more cleanly in ConnectivityService for later release.
Also, add an optimization to prevent use of wakelocks when driver is
already stopped.
Bug: 2529883
Change-Id: Ia1c2ddd44213ef3aa609855613bf155945bef8e4
mWifiState was split up to speed up access
of wifi state when things are synchronized.
Use a single atomic state variable throughout.
Change-Id: I345981e3ffa3d2b0b7e70a5c6efc43185cba9062
Previous it was synchronized on the same lock that was held while
transitioning wifi states, effectively making it impossible to ever
find out about such states, and worse: making calls during transitions
block.
This manifested itself in a really laggy power control widget, which
I'm working on fixing in general in a separate change.
Change-Id: Ia34af98c73d7f5662e41360a213df87f6adaf130
Driver commands should be issued when driver has started.
Supplicant commands should be issued when Wi-Fi is enabled
Bug: 2339709
Bug: 2371609
Change-Id: I9ba6ddfa0cf4c4b8ca049b0eb7eaaa8edb42bad1