History log of /frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
511d5346ced4b37e4ba68e0bd089d4dad8b3bff7 04-Nov-2012 Irfan Sheriff <isheriff@google.com> Stop supplicant and dhcp before start

Bug: 7227463
Change-Id: Iaa0df7522edc38d25fae2bbda8d24490e997e733
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e6464af00033370730e530e4d5402cd049768014 23-Oct-2012 Irfan Sheriff <isheriff@google.com> Fix driver stop handling

Defer supplicant state change event so we do not miss it

Bug: 7394390
Change-Id: Ibae6cef6be42a6cb45dc20ba4fa5060d8e459217
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
62fa6de135269a7da135bb89b1eb047a4f11d343 18-Oct-2012 Irfan Sheriff <isheriff@google.com> Do a clean shutdown of p2p

We were doing a lazy shutdown and stopping supplicant behind p2p's back.
Make sure we stop p2p, before we go ahead with shutting down.

Bug: 7368832
Change-Id: I941e9cd69d6f27532207d3dc00b03c55c0e6335c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
9f452d0b5ccad77fb6acfd1b20d5f77c9f425d22 15-Oct-2012 Irfan Sheriff <isheriff@google.com> Frequency conflict handling

We now show a dialog to user and let him handle whether to choose wifi
or p2p when there is a frequency conflict.

If user chooses to disable wifi tempoarily, we disconnect wifi until
p2p connection is established and removed.

Bug: 6590401
Change-Id: I73871ddcb3732ae61997d8771b6aa90ad56270af
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
17d9f6753aa7a00af425fec2305ece5f8b367794 01-Oct-2012 Irfan Sheriff <isheriff@google.com> Make rssi state change sticky

NetworkController misses the rssi state at boot. It gets the wifi
connection status because it is sticky. The rssi state will remain
out of sync until the wifi state machine sends another update which may
not happen if rssi does not change significantly.

Make rssi sticky as well to make sure NetworkController has the last known
signal strength on wifi.

Bug: 6916156
Change-Id: Id7dd621c6dbc35d7354757c61aa18a3b1ba90593
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
bdfce2ec05a3e9ca6acd6711de6133e06f2446e6 27-Sep-2012 Jeff Sharkey <jsharkey@android.com> First step towards cleaning up Global settings.

Remove all @Deprecated @hide settings, and clean up any stragglers.

Bug: 7232125
Change-Id: Ibf67093c728d4a28565129b923edb1701d3b2789
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
bf6f6f9de72c9fd15e6bda9f228c05a9b37d6324 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Update references to migrated global settings.

Fixed one setting that was migrated but not marked deprecated.

Removed a hidden setting that is no longer used by the new
power manager service.

Bug: 7231172
Change-Id: I332f020f876a18d519a1a20598a172f1c98036f7
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
3809f500c3411af2ab5ab6c706cdb4373940123e 18-Sep-2012 Irfan Sheriff <isheriff@google.com> Disable notification scans when p2p is connected

Also reduce scan interval for STA scans to one minute.

Bug: 7138968
Change-Id: I03620f6d462e4ec90d9bb25bbfe709f63173df21
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
9da603c2da67207869d7fde18817165fa95d3592 17-Sep-2012 Irfan Sheriff <isheriff@google.com> Change order of ps and suspendmode calls

Change-Id: I7872dbea7dc30c57960af95e86eb8e4c7f8e92dc
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
1c045ec2b79c33eb29a24bff11567831ea90398b 16-Sep-2012 Irfan Sheriff <isheriff@google.com> Fix suspend settings at boot

Bug: 7175460
Change-Id: Ibf5e063603866289b3dbae278bc384b833e4a75e
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
2892dfbeafec5315d05fb6ceabeaee73b88f5ff0 15-Sep-2012 Christopher Tate <ctate@google.com> Merge "Fix default population of wifi settings" into jb-mr1-dev
6f5a9a96523ecf97a9828a410dd1226df47ec4e6 15-Sep-2012 Christopher Tate <ctate@google.com> Fix default population of wifi settings

Various wifi settings that are explicitly defaulted did not get their
default code properly converted to refer to the correct settings
database table.

A collection of moved-to-Global settings that had not yet been
marked @deprecated in the Secure.* namespace are now so marked.

Also updated the namespace used to refer to wifi settings from the
Wifi Service. These changes are cosmetic, but they do eliminate a
number of runtime log messages.

Bug 7153671

Change-Id: I9e5b6464d025cfb480ef97373996e38e82f90593
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
633fe60b78665979109d4796ba22430b7b1cd758 14-Sep-2012 Irfan Sheriff <isheriff@google.com> Fix suspend bugs

Listen to screen broadcast all the time to avoid situations of losing
this information when wifi is turned on and off

Avoid duplicate suspend commands to driver

Bug: 7156907
Change-Id: I162b7ba249ae8925119a534229045965c0c13d1f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ec7d1380d30088bdc5bf40def653749524f2b6c6 11-Sep-2012 Irfan Sheriff <isheriff@google.com> Disable suspend optimizations during DHCP

We were not handling disabling suspend optimization during DHCP. This can
cause problems with certain routers when screen is off (and suspend optimizations
enabled).

Bug: 7106423
Change-Id: Ib762fff2edec28d7c6990263d4b641566e971213
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
b6deeed3ceff9e0f754697987b7c724901996082 05-Sep-2012 Irfan Sheriff <isheriff@google.com> Handle ascii encoded SSID

Supplicant now passes as an ascii encoded string that allows it to
pass any sequence of bytes for a SSID. see src/utils/common.c in supplicant
for details of the implementation.

We create a SSID structure WifiSsid in framework to store the ssid and handle
the conversion appropriately when required for printing and for an application.

At this point, we still do not handle non-printable octets from an application perspective
for connectivity

Bug: 7110903
Change-Id: I520e5ee23baed4867b8b408bbb3eda5c9e92b6bf
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
5ac72a29593ab9a20337a2225df52bdf4754be02 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user broadcasts.

You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
6bfc88876ab575913299b477528225a4d7bf8232 30-Aug-2012 Irfan Sheriff <isheriff@google.com> Fix DHCP handling at disconnect/reconnect

Wifi can have a quick disconnection followed by a reconnection. We used to
create a new DHCP state machine thread for every new connection and
never really waited until it quit after disconnect. This may have lead to
situations where repeated disconnect/reconnects resulted in multiple dhcp
start calls.

We now keep the statemachine after a disconnect and only shut it at supplicant
stop.

Bug: 6417686
Change-Id: Icf66efdc654be886e3eb46c81f09f8cce536f2f6
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
da6da0907b28d4704aabbdb1bbeb4300954670d1 16-Aug-2012 Irfan Sheriff <isheriff@google.com> Captive portal handling

We now notify the user of a captive portal before switching to the network as default.
This allows background applications to continue to work until the user confirms he
wants to sign in to the captive portal.

Also, moved out captive portal handling out of wifi as a seperate component.

Change-Id: I7c7507481967e33a1afad0b4961688bd192f0d31
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
07bde72ff9209de9c037d9bba36bdf0cba299aab 24-Aug-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 9455f8f2 to jb-mr1-dev

Change-Id: I6c6970adb58ac45473c7cc665d99f8e8a6ca8571
9455f8f2667bd86a7e51b19112f759406274e76b 23-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 729f810d: am 8f7100a0: Merge "WifiStateMachine: ignore auth-fail event during WPS connection"

* commit '729f810d3bca086cf651aa4e2299594a57d6d543':
WifiStateMachine: ignore auth-fail event during WPS connection
5770b2dcf6f28f1ea44146d5eb8c8a6b9cfc3fce 22-Aug-2012 Arik Nemtsov <arik@wizery.com> WifiStateMachine: ignore auth-fail event during WPS connection

Disregard auth failure events during WPS connection. The EAP sequence is
retried several times, and there might be failures (especially for wps pin).
We will get a WPS_XXX event at the end of the sequence anyway.

Without this change, the SupplicantStateTracker class will disable
the WPS network we are connecting to after 2 failed authentication events.
Then, even if WPS succeeds, we will never connect to the selected network.

Change-Id: I57c8e508bfd738405b7f2c2c2325df7838e1b4af
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
06d371f87be2588de6dddeefb919911c24e58e09 21-Aug-2012 Irfan Sheriff <isheriff@google.com> Fix NPE

Bug: 7026244
Change-Id: I21f13bdbd2d33f0cc082f85474229d9909eb47c1
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
8756bd1d6b43e1724996897cf4593d5ea5b00213 20-Aug-2012 Iliyan Malchev <malchev@google.com> Merge "Revert "Revert "Add timestamp in scan results""" into jb-mr1-dev
06c43d575c88976f8709ff3fc0bad7117bde23e7 20-Aug-2012 Iliyan Malchev <malchev@google.com> Revert "Revert "Add timestamp in scan results""

With b/6979211 fixed, we can reinstate timestamps.

This reverts commit 578531082b8e8c8aa03868e69591b7613b0e8b8e

Change-Id: I5dffc8d9701004f7c6325f21e1e33d1cdd2d05c0
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
f6307820c88e694e102824225b9d8caa6de75a30 14-Aug-2012 Yuhao Zheng <yuhaozheng@google.com> CTS test for WiFi watchdog - framework support.

The new WiFi watchdog requires kernel/driver to export some packet loss
counters. This CTS tests whether those counters are correctly exported.

Change-Id: I41999676f8488e86f35f1f8214ce668f1a2b5638
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
578531082b8e8c8aa03868e69591b7613b0e8b8e 14-Aug-2012 Iliyan Malchev <malchev@google.com> Revert "Add timestamp in scan results"

Temporarily reverting this until all devices switch to using wpa_supplicant_8.

This reverts commit b31f78f93768fef269617ec788a5c6655a375f80.

Change-Id: I33fcb8415288d95289dcd46fa71e950e0f2b87ec
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ee8655c6739cdfb35f192b05d8d4d84402e0d956 14-Aug-2012 Wink Saville <wink@google.com> am 2605aeeb: am b17a583a: Merge "Fix interface name for tethering"

* commit '2605aeeb30e39c2616bbe6ff088d1ed0020b4a3b':
Fix interface name for tethering
2605aeeb30e39c2616bbe6ff088d1ed0020b4a3b 14-Aug-2012 Wink Saville <wink@google.com> am b17a583a: Merge "Fix interface name for tethering"

* commit 'b17a583a3acc57db845993599e4de56e91d5e75a':
Fix interface name for tethering
a6b6556082d371da030f2b32699380d1e0f00c28 27-Mar-2012 Vishal Mahaveer <vishalm@ti.com> Fix interface name for tethering

Fix the interface name used in stopTethering

Change-Id: I3a8fb80c3c6cd382e7641d1735bff85d8a938ee9
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
b31f78f93768fef269617ec788a5c6655a375f80 11-Aug-2012 Irfan Sheriff <isheriff@google.com> Add timestamp in scan results

Propogate 802.11 tsf details per scan result to the applications
and open up hidden access points

BUg: 2961159
Change-Id: I05658fd0cf010c0b36193db3f79422640e8b3a6b
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
3fb4ba616edb114b3197936eb67f481eb86b7cae 10-Aug-2012 Irfan Sheriff <isheriff@google.com> Add control to disable suspend optimizations

Add an advanced setting that allows user to turn off power savings at screen off.

Bug: 5885175
Change-Id: I2dd013b86d7500a2ad1f9ec75d86551808f05543
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
b33227d23eb0ec3507192f94c2eee651a0f97783 20-Jul-2012 Yuhao Zheng <yuhaozheng@google.com> WifiWatchdog changes for poor link detection

- use packet loss (wlutil pktcnt) instead of frame loss, retune all parameters
- use wpa_supplicant to get packet loss counters, instead of netd
- handle BSSID roaming in all situations
- improve flapping avoidance mechanism by setting different target RSSI
- handle high packet loss in high RSSI (never seen in real testing)
- add more comments on how to set all parameters

Signed-off-by yuhaozheng@google.com

Change-Id: I33429f063d8625a458be4791edd83a86d5a723df
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ddd88726a247e4100cb62b3dc9d0887ca2ae2ec4 26-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am 71930dd7: am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit '71930dd77e4dc6f6be5c648019d2ab0da5f0584c':
Fix several cases of broken droiddoc syntax external issue 35214
71930dd77e4dc6f6be5c648019d2ab0da5f0584c 25-Jul-2012 Jeff Smith <whydoubt@yahoo.com> am a45746ef: Fix several cases of broken droiddoc syntax external issue 35214

* commit 'a45746efadd11bb7dfab026fb3c81a25fae74ca4':
Fix several cases of broken droiddoc syntax external issue 35214
a45746efadd11bb7dfab026fb3c81a25fae74ca4 19-Jul-2012 Jeff Smith <whydoubt@yahoo.com> Fix several cases of broken droiddoc syntax
external issue 35214

patch contributed by Jeff Smith <whydoubt@yahoo.com>

Change-Id: I70dcee88a140699bf3e1ab369bed6dcd2fdd3d83
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
dfd42a9bbc143a46411bf74ad5fddb7da1b3b6e6 03-Jul-2012 Irfan Sheriff <isheriff@google.com> Ignore auth failures during WPS

During WPS, EAP failure occurs many times due to searching
external registrar. EAP failure can also occur after WPS-success.
WPS failures are handled through seperate events, ignore auth failures.

Change-Id: I6a051398d306250510536d157bf812b5a434c84b
Signed-off-by: Irfan Sheriff <isheriff@google.com>
Signed-off-by: Yoshihiko Ikenaga <yoshihiko.ikenaga@jp.sony.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
095c58b73ac112cc7e00771430765434893d8bc5 29-May-2012 Wink Saville <wink@google.com> Enhance StateMachine Quitting and logging support. DO NOT MERGE

Make StateMachine#quit non-conditional and remove the need to
process the SM_QUIT_CMD it is now private.

Rename halting to onHalting.

Add onQuitting

Change the message specific logging to be more generic and change
the xxxProcessedMessagesYyy methods to xxxLogRecXyy names. Also add
addLogRec(String) and addLogRec(String, State) as the generic logging
methods.

bug: 5678189
Change-Id: I22f66d11828bfd70498db625fe1be728b90478b7

Conflicts:

services/java/com/android/server/NsdService.java
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
90542758d4fef2e5ff8badaf3b40c2a227fbfc47 20-Jun-2012 Irfan Sheriff <isheriff@google.com> Cleanup softap interface to netd

Change-Id: I01e6c5b5a5a8ddaf05b979f9cc6d1293c86e8773
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4b5d3a26394dc5f2aca787fd8acfd6e7e9c27460 29-May-2012 Wink Saville <wink@google.com> Merge "Enhance StateMachine Quitting and logging support."
bbf30dfd767f823f5f40d14b498e2a593454c5c9 29-May-2012 Wink Saville <wink@google.com> Enhance StateMachine Quitting and logging support.

Make StateMachine#quit non-conditional and remove the need to
process the SM_QUIT_CMD it is now private.

Rename halting to onHalting.

Add onQuitting

Change the message specific logging to be more generic and change
the xxxProcessedMessagesYyy methods to xxxLogRecXyy names. Also add
addLogRec(String) and addLogRec(String, State) as the generic logging
methods.


bug: 5678189
Change-Id: I22f66d11828bfd70498db625fe1be728b90478b7
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
da87c7c1eea9a054fd6842995df115113228191d 25-May-2012 Irfan Sheriff <isheriff@google.com> Merge "Fix delayed wifi shutdown" into jb-dev
f48fb85a8c4f72ec08b98f15ec3d9c70c247de7d 24-May-2012 Vishal Mahaveer <vishalm@ti.com> Fix delayed wifi shutdown

Use a wake up alarm to ensure delayed shut down message is sent

Bug: 5926285
Change-Id: I26a3353ddabb17d55299d8b5f9faf4c7ef5b2448
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4dd5a25a32dc4a721a411f92f0720672ee08020b 22-May-2012 Irfan Sheriff <isheriff@google.com> Add WPS details for certification

We need to provide device details to the supplicant for WPS 2.0 certification

Bug: 6450363
Change-Id: I3eb8bc75faacf392a43b6ef3085971bd32a675ac
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
f91d4e7bdd6923b6f724b7956c0a87714e61fd13 14-May-2012 Irfan Sheriff <isheriff@google.com> Add work around to restart driver on failure

A driver start can fail and device can stay stuck in that state.
Add a work around to retry once after a period of time and then
reload wifi if that does not work.

Bug: 6005966
Change-Id: I930554ac96ac25da2a38e49630d375656e32f6f6
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
531522c7fe0b4b7bccd34dcaf2179c4a8ced619c 03-May-2012 Irfan Sheriff <isheriff@google.com> Merge "Report open networks without saved networks" into jb-dev
027828bff7928a125c7150fe7cb4dcbcba113912 02-May-2012 Irfan Sheriff <isheriff@google.com> Report open networks without saved networks

The supplicant stops periodic scans when there are no saved networks.
The framework needs to have a periodic scan to handle this scenario.

We do have an infrequent wake up scan (15 mins), but thats way too
slow to report an open network.

Setup a scan by the supplicant interval when there are no saved
networks

Bug: 5420656
Change-Id: Id3708ecc874b42971643cc747bb9e7f2efc7d1dd
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
a3cbe75c93f96acdd3e0c4a5f6de5c50c2d6ea85 02-May-2012 Irfan Sheriff <isheriff@google.com> Fix getConfiguredNetworks when wifi is disabled

Bug: 6380917
Change-Id: I4c6f1a379ef2401cde739aedfc82578c03e7dcf3
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
8e8798d90a008e9262d14f26c4cf24fe552beab7 01-May-2012 Irfan Sheriff <isheriff@google.com> Merge "Fix connect & save of invalid networks" into jb-dev
b3e96c527b8ac96e869bafeff5f7fab099e28396 28-Apr-2012 Irfan Sheriff <isheriff@google.com> Fix connect & save of invalid networks

Ensure SSID is not null for a new network being added

Bug: 6411912
Change-Id: I26467810bf10b7325c04677c1d0e5ff1cfb4a09e
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
b678320cfa16424e01494fb0ee97bc98c0988bf1 27-Apr-2012 Irfan Sheriff <isheriff@google.com> Recover immediately from driver hang

A firmware crash can now put the interface down without notifiying the framework.
We detect this and recover immediately.

Bug: 6263857
Change-Id: Ib2dc0412fcdf9ce7b90a7fc0fab778f7af9c0513
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e2639d782eef1365a98dbd2639be23a6dd06e691 27-Apr-2012 Irfan Sheriff <isheriff@google.com> Switch to standard commands for pno & power save

Remove DRIVER commands and switch to cfg based commands

Bug: 6318223
Change-Id: I5e21c4bb554c2992a52fd3c1741629645b22ae43
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ea22ddd6bc855238f5e806bf576c48a672d05e4b 26-Apr-2012 Irfan Sheriff <isheriff@google.com> Fix flag on network state change broadcast

Using FLAG_RECEIVER_REPLACE_PENDING causes broadcasts
to be missed confusing the connectivity service

BUg: 6401167
Change-Id: Id69b2df18b9eb6b3e2195fbf399f36501a8d41df
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
9f6e4ba50e7e73704c7fbd3ba65fe73bdf8ad73f 20-Apr-2012 Jeff Sharkey <jsharkey@android.com> Connect metered DHCP hint for Wi-Fi networks.

When DHCP lease includes vendor info indicating that remote Wi-Fi
network is metered, advise NetworkPolicy. Users can still manually
change the metered flag in Settings.

Also remove any policies belonging to removed Wi-Fi networks, and
teach isNetworkMetered() about ethernet networks.

Bug: 6344821, 6369307, 6365872
Change-Id: I108606c6fddf2d02828fcab011f3a1501415f1bc
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7bdcb1eed755a6a326d807474d2c1476b82220b9 17-Apr-2012 Irfan Sheriff <isheriff@google.com> Fix ssid fetch

Change-Id: Iee5ee5f53bea7dea219b41735cd169389ca7e719
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
60792375761c0b2aed11f7f2ccb60c2e59f9fec1 17-Apr-2012 Irfan Sheriff <isheriff@google.com> Log messages in dump

Remove event logging and add messages in dump

Change-Id: Ic79c68443bac9b7257644ed6941853f44a9b0661
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
262f766ac8bd330008e1f0a61c1a37c64108b17c 27-Mar-2012 Irfan Sheriff <isheriff@google.com> Control suspend optimizations from framework

The suspend optimizations handling in the driver is being removed.
The framework will hence forth control when these optimizations occur -
we do this at screen off and hold a short wakelock to ensure this.

We also remove the use of the now defunct setsuspendopt command and
handle the high perf locking with the new suspend mode command.

Change-Id: Ia12e38befb2c4f85cad6612bc8f807805bd0dae1
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
09a12bcfab6600a8cc017f0a5f92259dfc8fc471 04-Feb-2012 Mike Lockwood <lockwood@google.com> WifiStateMachine: Move wifi teardown delay to a framework resource

Bug: 5931171

Change-Id: I96a4e3bf1d044ea4a4d2955775703b6f0ce862ed
Signed-off-by: Mike Lockwood <lockwood@google.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4c8982ad820007512e4e9cbb7f15925228d70761 09-Mar-2012 Irfan Sheriff <isheriff@google.com> Enhancements for avoiding poor connection on wifi

- Avoid flapping
- Increase thresholds and monitor rssi more closely to detect consistently weak signal

Change-Id: I6139a20b7306839b345146a72ce690020a2e00b8
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
86a5f5b9afa97a4ed6f5a2466fb9359ea131e2fb 29-Feb-2012 Irfan Sheriff <isheriff@google.com> Enhance WPS

- Add a cancel API
- Add more error reporting on WPS
- Fix network status reporting that showed up with new implementation

Change-Id: I499796c80d16d18df95fb702d029aa7e7283b603
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
d3975a917799b85cacaf382b65c5832813066b51 24-Feb-2012 Irfan Sheriff <isheriff@google.com> Fix WifiManager async API

Fix the current asynchronous API to use callback like the way
was done with p2p API.

In the process, fix the use of WPS

Change-Id: Ib6f8714cf51b3525b655948268804e7eaaf17587
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
07573b32494acbabd21979d8b9584c1ed3f7a6ad 28-Jan-2012 Irfan Sheriff <isheriff@google.com> Improve Wi-Fi hand-off

When Wi-fi connects at L2 layer, the beacons reach and the device
can maintain a connection to the access point, but the application
connectivity can be flaky (due to bigger packet size exchange).

We now use Watchdog to monitor the quality of the last hop on
Wi-Fi using signal strength and ARP connectivity as indicators
to decide if the link is good enough to switch to Wi-Fi as the uplink.

ARP pings are useful for link validation but can still get through
when the application traffic fails to go through and thus not best indicator
real packet loss since they are tiny packets (28 bytes) and have
much low chance of packet corruption than the regular data
packets.

Signal strength and ARP used together ends up working well in tests.
The goal is to switch to Wi-Fi after validating ARP transfer
and RSSI and then switching out of Wi-Fi when we hit a low
signal strength threshold and waiting until the signal strength
improves and validating ARP transfer.

Change-Id: Ica593291ec7772da892f03cf45b649635b730c47
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
79f5a0416fe76d5063b4d9995edd84a49b77995e 13-Feb-2012 Mike Lockwood <lockwood@google.com> WifiStateTracker: add support for overriding DCHP max retry count in an overlay

Bug: 5551068

Signed-off-by: Mike Lockwood <lockwood@google.com>

Conflicts:

packages/SettingsProvider/res/values/defaults.xml

Change-Id: I6a6519316a87bd1af39ea9dc51e0d312011135ef
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
870084d26d72a9a58c665349dde3ce511dd28466 15-Feb-2012 Irfan Sheriff <isheriff@google.com> Merge "Initial support for concurrency"
4aa9bcd231d09eb62ea64799a2dfacf45a452049 14-Feb-2012 Irfan Sheriff <isheriff@google.com> Fix shutdown delay

We were timing out on commands after shutting down supplicant

Bug: 5973030
Change-Id: I442ae6a9ad206406dc5f1c8c27be2456a339bba2
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
0e1ad89ca5487babb39c52abcff9da41e0b84462 28-Jan-2012 Jean-Baptiste Queru <jbq@google.com> am 27d2ab8b: am dc8668c8: am 97818704: Merge "Wi-Fi: Handle disconnect in middle of DHCP operation"

* commit '27d2ab8b27e7e1927e18869e898fa556e5da3d43':
Wi-Fi: Handle disconnect in middle of DHCP operation
21bd79f51c032782e3d6ccd22c7e236200d28a94 27-Jan-2012 Vishal Mahaveer <vishalm@ti.com> Wi-Fi: Handle disconnect in middle of DHCP operation

Restore power mode and BT co-ex settings when disconnect
happens in middle of DHCP operation.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7d6d9c005e5cfad787bb62b7fee6be2d75b13ca3 11-Jan-2012 Irfan Sheriff <isheriff@google.com> Initial support for concurrency

Use of multiple socket connections over wlan0 and p2p and
p2p state machine is now controlled entirely from wifi state machine

Add discovery stop to allow STA scans to proceed after p2p is used

Change-Id: I790c9112d3f475f638f06fc3ae9e191f6d90ef35
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
fc7f95abcda6fa35c175f9225358ea75c22952ab 04-Jan-2012 Irfan Sheriff <isheriff@google.com> cleanup for concurrency

Allow multiple instances of WifiMonitor and WifiNative to be
created in preparation for multiple socket connections

Change-Id: I06a227f87f1406dc62f884d56ad639ac623414b6
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
576db76106e43129d3df256524c343d0768b2a39 12-Jan-2012 Irfan Sheriff <isheriff@google.com> Sync up state with supplicant at start

Bug: 5534039
Change-Id: I70b3e03b3039877b3c64167d0d246346f9131fc6
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
44b330dfb0aeecb4e2ac97ff72a5abfb341c74fb 28-Dec-2011 Irfan Sheriff <isheriff@google.com> Add multi-interface support to native calls

Add the initial support for supporting seperate socket
connections on the p2p interface.

This is the initial change making primary interface connections
work alongside native support for p2p socket connection

Change-Id: I7619715ca75b10afd29af852279fe713331f75e0
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
1f095869536472c178046bb63c59947508eac4a6 21-Dec-2011 Irfan Sheriff <isheriff@google.com> clean up jni code

- Move all supplicant commands out of jni code in preparation for multi-socket
changes

- Also, clean up some function names to remove the explicit command

Change-Id: Id609ac7df0792fb85b52554d159f22064227c584
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
cdc077c9dd6473b5abfad4edfaf1ff41a436caaf 12-Dec-2011 Irfan Sheriff <isheriff@google.com> Fix configured network status

For a connected network, keep status as CURRENT. For a network,
that is disconnected it should be ENABLED. A disabled network
will have the status as DISABLED

Also, add a unit test to ensure there is only one CURRENT network
that is connected

Change-Id: Iaa4a7124a0c372a8f6df3d846ae8c15d9b29cf13
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e744cfff7ca5406f7bba17a14b89856c1ca83262 11-Dec-2011 Irfan Sheriff <isheriff@google.com> Clean up synchronization

- Add delayed disk write in WifiConfigStore
- Remove synchronization and keep all access to config store
throught the state machine thread

Change-Id: I53768a17895e48da7b99542ac95c6c2fddbcb021
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ecd7798ce45f9c8f1901c9348ad5452e0bc88a95 10-Dec-2011 Irfan Sheriff <isheriff@google.com> am a3c7c358: am 583fdf00: Merge "Handle emergency call back mode correctly" into ics-mr1

* commit 'a3c7c35873235486787d58fa8310eebd87508bc9':
Handle emergency call back mode correctly
c4ea8dfd46a5eeeedd15664a6499ecde32985509 09-Dec-2011 Irfan Sheriff <isheriff@google.com> Remove explicit network disabling code

We are going to always disable the notification

Bug: 5556629
Change-Id: I981eb55a1bb6f44defd674e3a86d9c6f3805f4fc
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
1108e8ddad3ddf0dbc660229ca3be6de7f600c3a 09-Dec-2011 Irfan Sheriff <isheriff@google.com> Merge "Change RSSI notification levels to 5 in framework"
ea933cb3fddbf5971dd4c62090edabbed295c3a7 09-Dec-2011 Irfan Sheriff <isheriff@google.com> Change RSSI notification levels to 5 in framework

At some point the system UI switched to using 5 rssi levels
while the framework only broadcasts a change for 4 levels.

Hence RSSI change can be slow to be displayed on the UI, fix this

Bug: 5732700
Change-Id: I21700f96ba7a8dd678fb2ccfff8ef59f9b696666
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4494c906168f1b93eb9d130096036d06cfa1e291 08-Dec-2011 Irfan Sheriff <isheriff@google.com> Handle emergency call back mode correctly

Bug: 5726996
Change-Id: I5815dd402bd73c530b9ba6d545d8956064949aa2
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
a6071c338b0f46a47fe9c4bce87d4684e3c93dc7 07-Dec-2011 Irfan Sheriff <isheriff@google.com> am 8c2122cb: am a85cc282: Merge "Fix CS wakelock handling" into ics-mr1

* commit '8c2122cb3e347c607126c49d76fb165125a02295':
Fix CS wakelock handling
87f0a7b1aa3fcd688358f92389d3eeaf1ae99008 07-Dec-2011 Irfan Sheriff <isheriff@google.com> Fix CS wakelock handling

Change-Id: Ibe1c1ab3e26ff0ae7cab7bfb0bd868bfab246037
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ddba10622dfd3122cf99c795706754e0d41858c3 30-Nov-2011 Jeff Sharkey <jsharkey@android.com> Clean up InterfaceConfiguration flags.

Offer modifier methods for interface flags instead of mutating
directly, and remove square brackets.

Change-Id: I4cce719dccedfb3f0e8448c111e65b93c0008cbb
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
c74694d5e12b66b1b234d2c8d02a8f72f0e3cd66 22-Nov-2011 Irfan Sheriff <isheriff@google.com> Fix tethering interaction from wifi

- Use the right interface for untether

- Wait till tethering service confirms that untether() is successful before
shutting down soft Ap. This helps to make sure interface does not go away
before clean up is done.

Bug: 5659166
Change-Id: Iff9d4a67ff40664c2114e766590d6a83b7739738
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
9575a1bea1787efe1686bd8562bcc70c72d01721 07-Nov-2011 Irfan Sheriff <isheriff@google.com> Convert soft ap config store to state machine

- Create thread when needed
- asynchronous interaction with wifi state machine

Bug: 5587391
Change-Id: Ie6d01b5a6b398a3fa12c384920a473e242443131
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
45a04db3f95755829b24043d30d7da7182b4f33b 04-Nov-2011 Irfan Sheriff <isheriff@google.com> Merge "Avoid quick shutdown after a driver start" into ics-mr1
e6daca5f53dbb872d0ba6682d0f98831a99c5d9f 03-Nov-2011 Irfan Sheriff <isheriff@google.com> Avoid quick shutdown after a driver start

Causes problems on our wext driver and potentially on cfg
based driver as well.

NLP can trigger very quick acquire and release within seconds
leading to driver switching between start and stop state.

We now keep driver up for atleast couple of minutes after a start

Bug: 5478196
Change-Id: I1b261578252c5fb9a65446241b51e5686d4d9cc3
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
1667a485d7cedcbd2cf0300e9a0dffdfaa93b0a2 02-Nov-2011 Irfan Sheriff <isheriff@google.com> Reset IP failure counter on a success

Bug: 5552673
Change-Id: I56c032577be217895b75bf72ecb2c986d2064ab4
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
2d57d860c2ddf792f4afd6101c19a6d0cf01547c 20-Oct-2011 Irfan Sheriff <isheriff@google.com> Fix handling in DisconnectingState

Now that we also handle supplicant state change to identify that
a network is disconnected (in case CTRL-EVENT-DISCONNECTED goes missing),
it is dangerous to defer all supplicant state change messages
while in DisconnectingState.

It may happen that the CTRL-EVENT-DISCONNECTED goes missing while in
DisconnectingState resulting in a supplicant state change of 0 (disconnect)
getting deferred.

Eventually after a connection completes, the supplicant state change events
get handled and the state machine goes into DisconnectedState.

Fix by having state machine switch out of DisconnectingState once we
do not immediately see a CTRL-EVENT-DISCONNECTED state.

Bug: 5490789
Change-Id: Ia2263795e53c51da0a2bfeefecfeb6256d6c5267
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
a2a1078576187f1192e339c927478205a8bc937f 17-Oct-2011 Irfan Sheriff <isheriff@google.com> Disconnect without CTRL-EVENT-DISCONNECTED

Handle a supplicant state change indicating disconnection
even if we have missed the CTRL-EVENT-DISCONNECTED notice

Bug: 5437924
Change-Id: I28e314f47f17359926c091b2015cd1fb7422fb22
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
0f43161150903a008a5fd703078cdf446601160a 05-Oct-2011 Irfan Sheriff <isheriff@google.com> Add a time threshold for re-enabling networks

Reconnecting to a bad network can be expensive (network down time wise and for the device as well).

Add a minimum threshold.

Bug: 5234206
Change-Id: I5ef1fe06038db73c29a3e95b6229506555f36c77
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
56379d23971baafa0e6987fe2b18d7a1ffea439d 05-Oct-2011 Irfan Sheriff <isheriff@google.com> Handle unexpected interface up/down events

WEXT on crespo has an issue where the interface up/down events
can happen in an unexpected fashion.

At a driver start, we can go from interface disabled to interface enabled,
back to interface disabled and then eventually into an interface enabled state.

Earlier, we were just expecting a single interface enable event that would trigger
driver specific commands. Now, we just handle these events as individual driver
stop and driver start situations so that we do appropriate things eventually

Bug: 5239853
Change-Id: I6bd5d844edf9fadfdca4e8eb753c2ba738aa6ad5
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7f8a12c75cf2b376fce58fc22b5ecb1b64acf110 04-Oct-2011 Irfan Sheriff <isheriff@google.com> Reduce/Fix system logging

Bug: 5410239
Change-Id: I2f91dfde0b701e8905a1235696591b3154693c7c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7960d9f888e31602e17b8856c77a3826bf8c841e 29-Sep-2011 repo sync <isheriff@google.com> Fix IPv6 on wifi

Bug: 5388757
Change-Id: I3c8c776c26dad1daa9801d0455fde749c0206401
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
921df5cbc44c00abe85f04093afe7692e73d490a 27-Sep-2011 Irfan Sheriff <isheriff@google.com> Switch to cfg based signal_poll command

Bug: 5352916
Change-Id: Id2ba7091a5e4cc4c1e14aa2c49e5b943519019bf
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
cf54e4aafc0f4406567fc236b850e8dc507c7093 20-Sep-2011 Irfan Sheriff <isheriff@google.com> Add supplication shut down recovery

When framework fails to get a notice of supplicant shut down,
timeout and proceed with a forced terminate

Also, avoid killing supplicant immediate upon stop and use the
timeout for recovery

Bug: 5337272
Change-Id: Id8971c673dc3082a5f15a6d5cef907bebe1e0fa0
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7329361cdce711775542b112663bf71a6e0d5cef 14-Sep-2011 Irfan Sheriff <isheriff@google.com> Add support to change IPv6 privacy extensions

Bug: 3360737
Change-Id: I9136992d05f7abf15bdfd92aad3a3e0c0fe3bee2
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
651cdfcbac6245f570475991588ddc2d30265e8d 07-Sep-2011 Irfan Sheriff <isheriff@google.com> Unhide wifi p2p API

Bug: 5247957
Change-Id: Id93e30c0cb60f361ba13a840de8f843415777336
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
489a9d81fd1458940e1ec01ba0cef36843732479 07-Sep-2011 Irfan Sheriff <isheriff@google.com> Rename WpsConfiguration to Wps

For the purpose of exposing the class as a storage for Wps
info with p2p, it is better to just call it Wps

Bug: 5247957
Change-Id: Iaebef958dd8f08fdbeb4b9d7fa5ad5527400710d
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e36fcea8cdad6ed654079a34104795b2fbf5d2a2 31-Aug-2011 Irfan Sheriff <isheriff@google.com> Reload STA firmware on start

Bug: 5242253
Change-Id: If8e07bc96b46a0e5022cc9d12191de2e4dbec212
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
3ac127ff477fa291f83f0906ce3c0981a9597aca 29-Aug-2011 Irfan Sheriff <isheriff@google.com> Remove work around for driver state change

When we first ported wpa_supplicant 0.8, we had a work around
to fix the supplicant state change behavior from the driver.

Remove the work around since the driver behavior is fixed.

Bug: 5195278
Change-Id: I320f21ab01704931a3def6214b0cc40f214a688e
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7244c977ecbc1f73e4cfd9d824fc2b68aa886139 06-Aug-2011 Irfan Sheriff <isheriff@google.com> Ensure interface down before wpa_supplicant start

Now that the driver is built into the kernel, a runtime crash
followed by a driver unload and reload does not reset the interface.

Ensure interface is down before bringing up supplicant

Bug: 5032635
Change-Id: Ib8f3d47617e587139a8a91a82146ee3a2f329700
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
cb30b22ff507a5a9a5d9c584f8b082f5e96c4d02 30-Jul-2011 Irfan Sheriff <isheriff@google.com> Add firmware reload support for P2P

Refactor firmware reload call to support various modes - AP, STA & P2P

Bug: 5002384
Change-Id: I10d20fe5a7842437cf80861bc8a834990db87db5
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
50a928f41445141be50428b02bd86a9ffcfd5f8e 10-Aug-2011 Irfan Sheriff <isheriff@google.com> Merge "Avoid turning off wifi tethering on interface down"
14f3ae7fe0a73aae4e023ed815c51597c1bc5455 09-Aug-2011 Irfan Sheriff <isheriff@google.com> Avoid turning off wifi tethering on interface down

The hostapd daemon can bring down an interface, followed by immediately bringing it up
and this results in us turning off tethering completely.

Wait for the right notification to enter tethered state after brining up hostapd.

Bug: 5135245
Change-Id: I95c8c0c4c2c99c03fce2d18c014eaff37ed4e762
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
8dc6a1b2823f374a176fb21b8a174664a5f825fa 27-Jul-2011 Isaac Levy <ilevy@google.com> Watchdog notify on explicit connect

Notifies when user explicitly clicks on wifi dialog.

Change-Id: I5eee37d68b422d748d41e9384d5006482a223dc5
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
f6d09845be2d58b1de7af9f6edc8b9ee216520a5 04-Aug-2011 Irfan Sheriff <isheriff@google.com> Fix p2p package paths

Split change Iba3beb8c which will not go in master to fix package paths

Bug: 5002384
Change-Id: I15072b65422fcdfe17c3f130d169258d60748012
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7dd04132d370537a07d3ad0e0ee7c8ff75166876 26-Jul-2011 Irfan Sheriff <isheriff@google.com> Run hostapd on a seperate thread

Hostapd start can block and state machine can be slow to respond.
Refactor wifi state machine to handle this behavior.

Bug: 5079498
Change-Id: Id7707bf2b0e1cb46a1f1374598ec4d7f6403ae1a
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
17b8451019543bc226e012bab09cd6da55c91cd2 25-Jul-2011 Irfan Sheriff <isheriff@google.com> Merge "Fix interface notification race"
e8daf2a7000e12dc0d62cb98b06ca849cf40564a 24-Jul-2011 Irfan Sheriff <isheriff@google.com> Fix interface notification race

In one use case, I see that if we go straight from
wifi client mode to tethering operation, the interface change notifications
are reported in an order that causes to enter tethered state
without actually tethering through connectivity service.

It is because an interface down notification (from wifi going down) comes after
we have started soft ap and we think we have tethered after calling startTethering
and switch to Tethered state

Instead, we should make sure tethering has started before going to Tethered state.

Change-Id: Iba7e8fab0feeb5637d40938862a8638871df8b02
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
55bc5f3e0408bcb5a39a6732de0b2d1aa99a55be 24-Jun-2011 repo sync <isheriff@google.com> Updated: Wi-Fi p2p framework

First stage. Get the bones in right now even though
we are not ready on the native side.

Once, we have things underneath working - we will further update the
framework

Change-Id: I4a7dab5cd4267373dc5f8989ae4122f91c384ed5
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
23eb297c771bd996fe8559178feb1a07be43ad72 23-Jul-2011 Irfan Sheriff <isheriff@google.com> Handle hostapd and tether interface changes

The set config will only update hostapd config file right now and we need to restart after that happens.

Also, softap interface is changed to be the regular interface

Bug: 5069108
Change-Id: Ibe80129b58e5339f06f186870bcd8f37569c6db3
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
d7a374f6f8f52a88d7e9a4660d9bf9037cf0b659 21-Jul-2011 Irfan Sheriff <isheriff@google.com> Merge "Fix multicast API"
b0c1b80f471bd49af60e7b78161d814e355a6972 20-Jul-2011 Irfan Sheriff <isheriff@google.com> Fix multicast API

Fix multicast API and disable mutlicast V6 packets at driver start

Bug: 5016558
Change-Id: I1e04a905a36045e52c785c1dc702cc246a381a57
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
3550ac919c492f3fbaebbf868f4df0d1ea7ee784 07-Jul-2011 Isaac Levy <ilevy@google.com> Adding WifiInfo object in CONNECTED broadcast

Adding a parsable wifiinfo object in Connected broadcast, public api.
The connected broadcast only occurs on successful setup on the wifi
interface, so in normal use is very infrequent (once if the wifi
sleeps, or once at new hotspots, etc...)

WifiInfo objects are small, <10 ints, <5 short strings, and contain info
that could be useful to listeners, such as SSID.

The alternative is to the poll the Wifi Manager, using getConnectionInfo.
Because the Wifi Manager can update state in its own thread, polling the
Wifi Manager might result in an info object that's out of sync from the
received broadcast.

Change-Id: Iafcec77f45dd094ea84e6022b7a40e8952ae8137
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
c4501f7710b8da1bc16f0670e4e7343db01f7146 04-Jul-2011 Ji-Hwan Lee <jihwan@google.com> Log supplicant restart count correctly

Currently, it's always 0.

Change-Id: I99b2d31e61e1ec7dfffc7a77e04f4059fd6869ef
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
f2288c960cce22ea3971d79f6aa13ed61c699176 17-Jun-2011 Irfan Sheriff <isheriff@google.com> Merge "Fix IP address cleanup on network disconnect"
f5600618df153d9c51388562ebf3524e3bdc8b7d 16-Jun-2011 Irfan Sheriff <isheriff@google.com> Fix IP address cleanup on network disconnect

We used to bring down the interface on network disconnect
which would in turn clean up all the IP addresses.

The interface bringup/shutdown is now handled by wpa_supplicant.
Add netd interface for clearing all IP addresses

Bug: 4676254
Change-Id: I7e24c0ab2e4a412b8d61e9c33ce028966913aaf6
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e1f9064e356a07a08222c8c4a588969b4c0a8c99 16-Jun-2011 Irfan Sheriff <isheriff@google.com> Fix network state handling

Change I242cda97 introduced a regression where network state
was being modified on any supplicant state change.

Revert the old behavior of only changeing network detailed state
based on supplicant state change in a disconnected state

Bug: 4690073
Change-Id: I927cc5fa36b862cc54661b033939f543cd15d31f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4f1f7d3158b1576b72eabbb05f8ab8cfb25cd403 16-Jun-2011 Robert Greenwalt <rgreenwalt@google.com> am 241b65ac: am 5f350512: Merge "Reset connections AFTER we take down the network." into honeycomb-LTE

* commit '241b65aca93e263f0869c5bec4ad1dbda0dec6db':
Reset connections AFTER we take down the network.
ec896c6a863b3cc0a55538a19879e2112b5b8658 15-Jun-2011 Robert Greenwalt <rgreenwalt@google.com> Reset connections AFTER we take down the network.

If you do it before you have a race condition and some apps will
manage to reconnect on the dieing network before it goes and then
get no notification when it goes.

bug: 3408025
Change-Id: I5386ff313c759b3f687bc38731454ab43dbe76b8
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
1523da22e91217e06a01610c202d5e52c2e9dfce 10-Jun-2011 Irfan Sheriff <isheriff@google.com> Fix driver start/stop handling

The driver start and stop events will be removed as they are now
redundant (and incorrect)

Move to using supplicant INTERFACE_DISABLED indication for deciding
if driver has started or stopped

When driver start is given, the supplicant will first switch to
INTERFACE_DISABLED state and then out of it to start connecting.
We should use this indication to find out driver has started

When driver stop is given, the supplicant will just switch to
INTERFACE_DISABLED state and this indicates driver has stopped

Bug: 4550125
Change-Id: I242cda97951a733c8707c8d99cdfcc9a33b75c2d
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
680e0a4782a2b8012343794a36e8e7debcb2305c 10-Jun-2011 Irfan Sheriff <isheriff@google.com> Merge "Remove interface disable in wifistatemachine"
89f2ea6fc24d6010f83caf89b462b7caa75ce022 10-Jun-2011 Irfan Sheriff <isheriff@google.com> Remove interface disable in wifistatemachine

Supplicant now handles interface disable/enable on its own

Change-Id: Ib104989dd49654befff82261cc531b0646c7b15d
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
dd65ed25c47acf5d551f56a232e1656f2f8c3483 09-Jun-2011 Irfan Sheriff <isheriff@google.com> am 92593dc4: am 84db79bb: Merge "Clear IP configuration on lost network" into honeycomb-LTE

* commit '92593dc49b348c4951037a1ae2fa17bb6644ffb9':
Clear IP configuration on lost network
0c13d479398ab4d940a302d2efd37cfeee51f872 07-Jun-2011 Irfan Sheriff <isheriff@google.com> Clear IP configuration on lost network

Bug: 4391449
Change-Id: I574128083a5612f13fcccaf5ed091eae114b7943
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
d57f5067e6465f18dfb27eaf0454a65d28ce1548 25-May-2011 Irfan Sheriff <isheriff@google.com> am c2ff0e70: am 9a737639: Merge "Clear network id when invalid" into honeycomb-LTE

* commit 'c2ff0e7031b54810d26e1d2a1ba9cdb529f25306':
Clear network id when invalid
0a8bd60a8e064c8d310f0abd9503350633b05eca 21-May-2011 Irfan Sheriff <isheriff@google.com> Clear network id when invalid

Bug: 4391449
Change-Id: If0902a3fe4ad65d34dfc3d60f0e630d5e868d6a9
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e526cfb490a4c855d3b6c89096c9f606b02190f8 20-May-2011 Irfan Sheriff <isheriff@google.com> am 5b9ceeba: am a4815c0e: am 9c9088a5: Merge "Move softap config handling to WifiConfigStore" into honeycomb-mr2

* commit '5b9ceebafd36db4491a49c1f00750ce50c4d4433':
Move softap config handling to WifiConfigStore
a4815c0ec06c293ea9f50b2b925d5a98d11f1143 19-May-2011 Irfan Sheriff <isheriff@google.com> am 9c9088a5: Merge "Move softap config handling to WifiConfigStore" into honeycomb-mr2

* commit '9c9088a54f6dee7a13dcc7a12297137147b01baa':
Move softap config handling to WifiConfigStore
ffcea7ae7316ab748a49f5e8f6c6798356f35719 11-May-2011 Irfan Sheriff <isheriff@google.com> Move softap config handling to WifiConfigStore

Move softap config to flat file and read/write on a seperate handler thread

Bug: 4391796

Change-Id: Iafe43200d7f829df7ced20a4e7b0ed451ad22a05
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
fe3b33d4ead06c546202753e38188db5e2eaa7fa 07-May-2011 Irfan Sheriff <isheriff@google.com> DO NOT MERGE Add DhcpStateMachine

Add DhcpStateMachine for interation with dhcpcd

- Supports wakeup and renewal on dhcp
- Supports multiple controllers to use the state machine
simultaneously
- Optionally, a controller can request a notification prior
to DHCP request/renewal being sent

Change-Id: I5324814b19ff19863aa6fa89f1e3f0a202930c98
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
fba19ff5e8135878a1d87ed696e0a89cc776f37e 28-Apr-2011 Irfan Sheriff <isheriff@google.com> DO NOT MERGE Define Protocol class

Adds a common namespace for communication across
different state machines

Change-Id: Ib6a29715c651371f91a950348a8525275b6026a0
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
d713683f9f5230d6a234ce8efbaf3c0959b81e22 02-May-2011 Irfan Sheriff <isheriff@google.com> am d369d64e: am 8ab6a6d4: Merge "Add DhcpStateMachine for interation with dhcpcd" into honeycomb-LTE

* commit 'd369d64ee7931726d479e60e64d76a31fdba4a8f':
Add DhcpStateMachine for interation with dhcpcd
31be7cf4c7aef140f2a576975a7fd31e062f6964 28-Apr-2011 Irfan Sheriff <isheriff@google.com> Add DhcpStateMachine for interation with dhcpcd

- Supports wakeup and renewal on dhcp
- Supports multiple controllers to use the state machine
simultaneously
- Optionally, a controller can request a notification prior
to DHCP request/renewal being sent

Change-Id: I3a9d7e6a02ff26be3a86ddca6964683ad3c28f93
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
2dbf683b61cd2e6389fed2c028a18928234e315f 28-Apr-2011 Irfan Sheriff <isheriff@google.com> am c1f39396: am 8f87f838: Merge "Define Protocol class for use with StateMachine" into honeycomb-LTE

* commit 'c1f39396b94837f728c56b4c3e2f5c37e1d0eef7':
Define Protocol class for use with StateMachine
3fc75e9267a585101a06edc13d141b58efb9691f 28-Apr-2011 Irfan Sheriff <isheriff@google.com> Define Protocol class for use with StateMachine

Adds a common namespace for communication across
different state machines

Change-Id: I0a9ae872112567afd35a1dc95ac9283170f3f459
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
5cd8d4decea60fccb52614b15bd0ceaa9fecc384 08-Apr-2011 Irfan Sheriff <isheriff@google.com> handle supplicant stop after child states exit

When a user explicitly disables wifi, wait on the supplicant shut down until after
all child states have handled exit - this avoids time outs due to communicating with
supplicant after breaking the socket connection

Bug: 4052161

Change-Id: Iec5bb3e14a2df4a8a12de8bb81d9c10aeb992ad4
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
343c1ad7200619230a55caa6aa8a9d041e62b29d 19-Apr-2011 Wink Saville <wink@google.com> am 37677849: am 64c42cae: Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.

* commit '37677849998e6c9a39afe0a730b2f0131a371f3b':
Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.
64c42cae4482fe0157e977b8ddd0f2c2436b3f31 18-Apr-2011 Wink Saville <wink@google.com> Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.

Change-Id: Ib4b33894da75f5f156066092fb145b478e52f7d7
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
2b7f63887e39079a52592fb4507d8daaf90e8afa 25-Mar-2011 Irfan Sheriff <isheriff@google.com> Add support for supplicant SCAN_INTERVAL

Also, allow scan interval for framework and supplicant
to be configured at build time or run time

Bug: 4144882
Change-Id: I877f4bcc872597b44d3f4da85cf2bc0f16e09444
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4aeca7c5908387bc7efb0785830aea1053264062 11-Mar-2011 Irfan Sheriff <isheriff@google.com> Backup and restore IP and proxy settings

Bug: 4081954
Change-Id: I27266637c6ade0c5c8242792176d1edae0983446
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
84cffa45261519a96949ec5c6cd8e21fea950ff5 03-Mar-2011 Irfan Sheriff <isheriff@google.com> DO NOT MERGE update current config with dhcp settings

After DHCP completes, update the current configured
networks list with the IP setting details

Change-Id: I1ece1eda20224c69a4635bd38fdc5bef15818bb2
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
04e04fe333874afdbc4bb5936533c5a6f0855cfd 03-Mar-2011 Irfan Sheriff <isheriff@google.com> Merge "fix network disconnection handling"
9b3710b253db932d560f2f08d62b6eb2d37e3c67 01-Mar-2011 Irfan Sheriff <isheriff@google.com> fix network disconnection handling

We should avoid network id set unless the access point is associating.
Also, we should reset network connection state before sending
out network change broadcast.

Finally, we should reset connect mode settings when we disconnect from
an access point

Bug: 3424635
Change-Id: I41db5399810218abd6a77155166db5a9b1dbd22c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7e48e76cab10377367b925790cf3a840651009fa 02-Mar-2011 Robert Greenwalt <rgreenwalt@google.com> Merge "Start using NetworkUtils.numericToInetAddress."
e590373ea71251cfffc8f22f011e2e6335dce716 23-Feb-2011 Robert Greenwalt <rgreenwalt@google.com> Start using NetworkUtils.numericToInetAddress.

Generates InetAddresses without risking an accidental dns lookup. For use with supposedly
numeric-only ip address strings.

Change-Id: I694f3976ce1c6382854706f6557ea88a289add3a
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
2f6409686f4ecced13474db9307fcd33a805b2bf 01-Mar-2011 Irfan Sheriff <isheriff@google.com> Merge "Using AsyncChannel for wifi connectivity"
d86dbb9e00c998979db488a720ce263291f22c6a 01-Mar-2011 Irfan Sheriff <isheriff@google.com> am 5af7cf7c: am f9e2a491: Fix issue to clear scan alarms

* commit '5af7cf7c558e6febfa5d48b62900929743d2f7bb':
Fix issue to clear scan alarms
ebe606fccd9293674273d5f73246e0e8e6e6ddcf 24-Feb-2011 Irfan Sheriff <isheriff@google.com> Using AsyncChannel for wifi connectivity

Change-Id: Ieee5a3a1a739238d8a6659493684f1be0cbea691
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
f9e2a491176b086cd3c238b209e025cd68d76001 28-Feb-2011 Irfan Sheriff <isheriff@google.com> Fix issue to clear scan alarms

If PNO is set after the device is disconnected, the scan
alarm should be cleared to prevent both PNO and alarm
being active at the same time

Bug: 3495698
Change-Id: Id48c87fef68a34a05799e6b82de4088e0573009f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
74ff3d23f9c0bf0f13a9635473626e9d3cc21103 18-Feb-2011 Irfan Sheriff <isheriff@google.com> DO NOT MERGE Add support for background scanning

Background scanning (preferred network offload) allows us the
host to sleep while the dongle monitors the presence of any
preferred networks. This allows us for significant power savings
since the system does not have to wake up often to initiate
a scan

Bug: 3453021
Change-Id: I73dcf4e1c9ab4de280c40b6df6147a74ac003123
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
fcc0845cf9990470d498dcaa036f0ae6487ddf34 18-Feb-2011 Irfan Sheriff <isheriff@google.com> Add support for background scanning

Background scanning (preferred network offload) allows us the
host to sleep while the dongle monitors the presence of any
preferred networks. This allows us for significant power savings
since the system does not have to wake up often to initiate
a scan

Bug: 3453021
Change-Id: I7c1dbfd0c3f717df81e4da6091c4c5657c9ec9ca
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
227bec49157bc496f7c9e8e8f63c12728a448922 16-Feb-2011 Irfan Sheriff <isheriff@google.com> data activity reporting on wifi

Initial checkin, need icons to complete the feature

Bug: 3412258

Change-Id: I9a3ecc8159cc314d84707065dafe23d402409a84
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
124b44d89bc00b150c9478ccddfa83cac0f1df24 17-Feb-2011 Robert Greenwalt <rgreenwalt@google.com> Make WifiInfo not use int for ip address.

Change-Id: Ib27824cd0722099e157024ee2a9797236157bc8e
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
34ee52e60c7bd220d755f30ee7924cc04e0b3ca2 10-Feb-2011 Jesse Wilson <jessewilson@google.com> Adopt LruCache in WifiStateMachine.

Change-Id: I2d2f07e8b9895ae2fd05299033336fbca047373f
http://b/3184897
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ed1264093234b1f1354cd5f669eb82a50bb56869 29-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> Bind addr and prefixLength together in LinkAddress

bug:2542681
Change-Id: I90200446216d78c676498144946832afe75efdb8
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
0216e618198393bfd7ac0625fa6ad251d5ea682f 15-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> Make the interface with DHCP IPv6 capable.

It doesn't work (yet) for IPv6, but we can remove v4-centric notions from the framework.

bug:2542681
Change-Id: I21c058f5c88d07706c9265bf0ea902fc90357e56
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
a9a4f5cc88a373ffcea8902f178fe0a6572c0aa8 21-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> Merge "Switch from NetworkUtils to netd for iface config."
27d3c5907cc6f4366a7af3f0941d8d29d9b2440b 20-Jan-2011 Robert Greenwalt <rgreenwalt@google.com> Switch from NetworkUtils to netd for iface config.

Moving more stuff to netd and getting rid of unused NetworkUtils.

Change-Id: Ibb5a11dca58d07291fe33e6d33027553f6158ea7
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
43e747ef59e67734392d2d189e59fb9d11901037 20-Jan-2011 Irfan Sheriff <isheriff@google.com> Add untether call during softap shutdown

Bug: 3355187
Change-Id: Ie4381648883186a216807bcd0d586ecfd00ca15c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
d033e9caa1ad56bc6c4cc23c2104fc8370773e08 20-Jan-2011 Irfan Sheriff <isheriff@google.com> Merge "Handle EAP authentication failure" into honeycomb
b98d878f43748a64c68ffe05ce64c5b7c72fe922 20-Jan-2011 Irfan Sheriff <isheriff@google.com> Handle EAP authentication failure

Avoid the scenario of an EAP network indefinitely trying to connect
due to an EAP authentication failure by disabling the network

Bug: 2149114
Change-Id: Iec8da7551c2dff9b153f41a2139529133130399d
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
0c7e16450c9060551bd0bea6e08bc9fb2ba411b4 19-Jan-2011 Irfan Sheriff <isheriff@google.com> Fix soft Ap handling on system restart

When system server restarts, a soft AP
start can fail. Fix it by doing a stop
and start through netd.

Bug: 3236625
Change-Id: I95f31eb34a03b64cb7e2b6b8bdd56fc2119b605b
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
fcb659b66756ac02bd1491ae1365b27e8509a890 16-Jan-2011 Irfan Sheriff <isheriff@google.com> Report WPS overlap error

Add certification requirement to report an overlapping
WPS session failure to user

Bug: 3354319
Change-Id: I8c51bc20c2ec8e8d92a86ed2dfe2a3ede9c56885
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e4c56c9655bf936454e2f3ee434aacb403876c7d 13-Jan-2011 Irfan Sheriff <isheriff@google.com> Fix WPS to provides immediate feedback

If WPS is already active, we drop user's request
and convey an in progress message

If WPS fails to start, a failure indication is conveyed
to the user

Bug: 3316078
Change-Id: I238c55973cb29cf5c1be66197ffcb4978316cb89
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
6bb7652b47b7c3068fa5e20a20263e651180c856 11-Jan-2011 Irfan Sheriff <isheriff@google.com> Fix network availability reporting

Report wifi is available as long as it is kept on

Change-Id: I5be9461106ef4968cbc423f90e0ff168e089791f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
65eaec88f3670384ac6c63e8c21ca13c21d2a407 06-Jan-2011 Irfan Sheriff <isheriff@google.com> Use BluetoothAdapter broadcast for coex settings

Use the bluetooth adapter broadcast so that we capture
various bluetooth profiles for both scan coex settings
and coex settings during DHCP

Change-Id: Idec41940514efe7ea9927f67b6199b4893794e2a
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
8e86b89860114386e6c43f55fc034a26798b73e2 22-Dec-2010 Irfan Sheriff <isheriff@google.com> Enable networks on screen on

We now all configured networks on screen on.
Also, removed event logging for scanning and rssi polling

Bug: 2129037
Change-Id: I995893d77f8575a8d987d9d8604c8272f636d12d
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
b45e726bf5df9650e8a67a7c05bf2f41f414c07d 21-Dec-2010 Irfan Sheriff <isheriff@google.com> Fix wifi broadcasts

Add the missing wifi disable broadcast and also send out
supplicant disconnect on shutdown.

Added unit test cases.

Bug: 3294055

Change-Id: Ia56a8ec9d17784c5aac5b8b369c04837f9057c54
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
5d001ea0271eeedb05984ac00d5e41d767f0cb87 15-Dec-2010 Irfan Sheriff <isheriff@google.com> Use clear names for native API

Change-Id: I96c3089e10c75f433410f66c01204b7e5de2dc55
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
3a65de795d5bf8f575a38a2ad83d5e3e234ae4a6 15-Dec-2010 Irfan Sheriff <isheriff@google.com> Initialize network state on start

Bug: 2542613
Change-Id: I5b16b2dc866c7f25bc61f1a04cf5fa9938ec2c3e
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
96071a7031bac06e3f249610b010ad5651efe8ae 14-Dec-2010 Irfan Sheriff <isheriff@google.com> Handle supplicant stop correctly

- Use a clean terminate for a regular stop and on failure kill supplicant. This prevents
WifiMonitor from getting hung permanently on a socket in case of a kill

- When WifiMonitor exits, kill supplicant and cleanup sockets

Change-Id: I87c32e03d945433f33eed8c326d7f0368925bf55
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
02fb46a297c4f645f2a30b574151401dd0978521 08-Dec-2010 Irfan Sheriff <isheriff@google.com> WPS fixes and refactor

- Allow IP and proxy set up for WPS
- Use string for WPS pin to avoid losing leading zeros
- Add a seperate WPS state machine and WpsConfiguration class

Change-Id: I87f43fff8bba0ae8ff02e5fc495a8bc628a8c8cf
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
cf34f47eddedbeab4ace8150d026e81a5d9485ae 06-Dec-2010 Irfan Sheriff <isheriff@google.com> Update scan results when frequency band is set

Change-Id: I4864b66f96744682a0de274fd49cca035ffc5d3c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
9beea36441ef805a8a3c343553e281f1966c047e 04-Dec-2010 Irfan Sheriff <isheriff@google.com> Hold network hand-off wakelock only when connected

Change-Id: I31132cb2966cfc1eb205e070116b4c784d292f46
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
be9ee6a498afc08df1ca6d796b703b703b25c9a9 02-Dec-2010 Irfan Sheriff <isheriff@google.com> Fix configuration change handling

When IP or proxy config changes, we now reconfigure
the network and inform connectivityservice.

Also, fixed the naming for changes on configured
networks.

Bug: 3237735
Change-Id: I2a94b3158b6b0e0d27442d7fd525a8a23f0497f8
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
3c661bde458b7c69f494673c7d6728a7a871b586 23-Nov-2010 Robert Greenwalt <rgreenwalt@google.com> Fix Wifi's setting of isAvailable.

Manifested itself in ConnectivityService reporting no connectivity.

bug:3220092
Change-Id: I4c0149125b8e2b9c2493f87d208aecbf21590fff
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
19d245b792e1d941fbba9b04ae20ce9d6e6e18f8 12-Nov-2010 Irfan Sheriff <isheriff@google.com> Split SupplicantStateTracker and refactor

- Move SupplicantStateTracker into a seperate file. In the
process clean up code that needs to be present only in SupplicantStateTracker

- Retry twice for password failures

- Clean up supplicant state handling. Dont treat supplicant states
as HSM what values. Instead, just retain SUPPLICANT_STATE_CHANGE

- Add event logging in SupplicantStateTracker

- Move scan handling out SupplicantStateTracker

Change-Id: I083e1c40ef5a858164493b1440b82c5751b3bfb5
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
36f7413dabfab50699135019ba55151e9227f59d 05-Nov-2010 Irfan Sheriff <isheriff@google.com> add frequency band control API

Change-Id: I6cc6cdef27d493d4ef76cec17fdca7e49d9dc8d7
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
090813ac95b1bd5f60f67f70bb49b0886954de09 04-Nov-2010 Irfan Sheriff <isheriff@google.com> Initiate wake up scan only in a disconnected state

When wifi is connected to an access point, we should
not wake up the device to initiate scans.

Change-Id: I1a48387a0cac7b23a8d947d8409cafc63da18d38
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ed4f28b492da3ff140bbaabbbda798a08c40ea5b 30-Oct-2010 Irfan Sheriff <isheriff@google.com> Set country code in the driver and remove channel set

With dual band support, using country code
settings is the way to go

Bug: 2936741
Change-Id: I760dce4c43b1af19ee205c28f0d287420c8d9e85
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
1406bcb75150e8386b4d858f27089cc1359e7f14 28-Oct-2010 Irfan Sheriff <isheriff@google.com> Use AsynChannel for synchronous API

also cleaned up some unnecessary synchronous commands from state machine,
and fixed an issue with a synchronous WPS command

Change-Id: I55bf4379d9810e11f2ba2e03e2e703b132d1488f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
5876a4273e67271f0eca607af9520f7e5abbe4f3 13-Aug-2010 Irfan Sheriff <isheriff@google.com> WifiLock extensions for high performance mode

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: Id394d265b9876bf0230efb3d222056e9b80b44fd
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
f235c5ab91b040b88ceb61beb819e15f1b19e9e4 22-Oct-2010 Irfan Sheriff <isheriff@google.com> add wps pin from device capability

Bug: 3119043
Bug: 3112178
Change-Id: Iaae6bcf53e11f7fac82b3c604ddc27ff05e00542
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
5a1e4cf83f5be1b5d79e2643fa791aa269b6a4bc 19-Oct-2010 Jaikumar Ganesh <jaikumar@google.com> Update BT APIs return type from Set to List.

Change-Id: Ia27220dd26cde13007f6938c830517ee7f6968ce
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4b7ba09c8bf773dbd045b4bbe7831fa16e33653d 21-Oct-2010 Wink Saville <wink@google.com> Change removeNetowrk to a synchronous channel call.

Change-ID: Iad0380d56972826615e044fa2aaee418b617d732
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
4f5f7c968339a83b6af98ac8893a1ac33c7aa7bc 15-Oct-2010 Irfan Sheriff <isheriff@google.com> Fix wake and scan behavior

- Add wakelock for driver start/stop to ensure a wifilock
acquisition kick starts driver. Also cleaned up state machine
driver start/stop behavior.
- Add periodic scans when driver is started to ensure wifi
reconnections when wifilock exists or when user chooses
never to sleep
- some minor clean up

Change-Id: I844eb70491d5aa2f8c8933b3d8dd01ba237ee534
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
138f10e3f140ea84b976607ada7081a498a3610a 20-Oct-2010 Dmitry Shmidt <dimitrysh@google.com> wifi: Allow dual-band support

Change-Id: I90e421efca783080261789378ef6054ac394c1e2
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
cdf8edeec2f5a063e94966449744c7f513578847 11-Oct-2010 Irfan Sheriff <isheriff@google.com> Remove synchronous bluetooth callbacks

Also, fixed an issue with disabling bluetooth coexistence

Change-Id: Ia7f68dfe6e8d587101ba8513783a0123ff0561a1
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
68825ac32deb00991e18b5b40b455b68e9d78324 13-Oct-2010 Irfan Sheriff <isheriff@google.com> state machine fixes

- When supplicant dies, restart it
- When wifimonitor fails to connect in time, restart
supplicant
- fix dhcp counter reset
- defer all load/unload actions when waiting for supplicant
control connection
- we dont need to disconnect & reconnect at start with the
faster monitor connection and handling of failures

Bug: 2973023
Bug: 3090725
Change-Id: I5c834ddd08e6300e2b29da0941a24633825b4d3b
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
96ca91761e6857c1ca2e4fafe5b35e4b5fefe5a1 06-Oct-2010 Irfan Sheriff <isheriff@google.com> Use LinkProperties for IP and proxy configuration

Change-Id: I4ae817fb00141e9a742216b7fd02dca1ed228270
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
ed5d7d17c9e9837ce7a6a10698cce9f6e4101acd 02-Oct-2010 Irfan Sheriff <isheriff@google.com> Add LinkAddress

LinkAddress stores IP address + prefix for a network link

Change-Id: Id3e74e9d0a62121d097ebdc9be064eeea257ba1f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
128cecab968337038591cc14e3cdd5b37b2e5cb9 23-Sep-2010 Irfan Sheriff <isheriff@google.com> Add proxy settings per wifi network

Provide per network proxy settings configuration
for wifi. This is stored along with the ip configuration
in ipconfig.txt

bug: 3039302
Change-Id: Ic8bc14493583be19fde3d7c463d1e5a77e6df25f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
7440fc2e0e0257043b967a80dceb0b33797d1d12 28-Sep-2010 Jaikumar Ganesh <jaikumar@google.com> Wifi: Update code for new BT Apis.

Change-Id: I1deb0a9a1533958cdb79179bebd2d3b435b0b07c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
5ee89800bee7c6c755778795a536e0e2f12b85ff 17-Sep-2010 Irfan Sheriff <isheriff@google.com> Add Wifi Protected Setup support

Add WPS PBC and WPS pin method support with pin obtained
from AP

Bug: 2277571

Change-Id: I6ff8e447ab8c5e59456a55152588fd4d6386c610
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
03f3cb083d708d4d3226b80ed42c9d2876a56edc 18-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 1f377298 to master

Change-Id: I0d92abae3a86792b47777f795143acc0489adfe4
31b62322bfa9470d648fbfd69510e03da29b29af 30-Aug-2010 Irfan Sheriff <isheriff@google.com> Add per network static IP settings

Remove the existing global static IP settings and add support
for per network configuration

Change-Id: I5a6d8b877471b8c8ad07951c96d273893754607f
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
25c9bf2396ceb48fc5cfd5c1dd58aa4d4750d056 02-Sep-2010 Irfan Sheriff <isheriff@google.com> Add set/get band in WifiNative

Add support for set and get band and set the default
to 2GHz for now till we get a fix on issues
with 11A

Change-Id: Icb9bddc353e4bf013bdb8a08d9b4ee3451c282f4
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
04db1d5d3a51f9b710b707cfdc1c2f41ad948237 31-Aug-2010 Irfan Sheriff <isheriff@google.com> Add WifiConfigStore to manage networks

Split configuration management into a seperate class,
next to come is per configuration ip management as part
of WifiConfigStore.

Bug: 2876746
Change-Id: I44b85fb0e23a83d97a5052ba6beafe06f2027f5a
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
37e65ebb7eb932e1a144b1cab262e11ca5fd109b 30-Aug-2010 Robert Greenwalt <robdroid@android.com> Rename NetworkProperties to LinkProperties

Also add copy constructors and use them when giving out data.

Change-Id: Id320eb8fb91d0bd250305ce7bb4f628570215615
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
585ac0fc8dde3fe35ec4c71c8f215f2c84139b8b 27-Aug-2010 Robert Greenwalt <robdroid@android.com> resolved conflicts for merge of 4ea54f44 to master

Change-Id: Ia77bb59a6e1950648c8ebf7db307e204f93a9f56
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
bbc85ab3229ea51b1358711fba99e3bf170ab825 26-Aug-2010 Irfan Sheriff <isheriff@google.com> Add WifiStateMachine details for dump

Change-Id: I3015411dd11f3df57422b41125d4db44be1e0854
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
a2d5fbf569cb81d3d89bf61393c9ebd2c8a54aed 24-Aug-2010 Irfan Sheriff <isheriff@google.com> fix connectNetwork corner cases

1. if we try to use the api for an already connected network
we could end up in disabling other networks since we dont
get events back in that scenario. fix to ignore connect.

2. force transition to mDisconnectingState since we expect
a disconnection when we connect to a network. If we
are in the other child states in ConnectModeState and dont
transition, we could ignore the connection/disconnection
which would cause other networks to get disabled.

Change-Id: I603d504af21c5ba09411d5e2515b8031b9f8a97a
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
50454c2718fe4f2921da02670f8cc69fd0baf9da 25-Aug-2010 Irfan Sheriff <isheriff@google.com> sendBroadcast needs protection

we need to check if system is ready for broadcasts

Change-Id: I342c51ae85c9ca1aa0cb289c673a20f582eb0423
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
9e6222f4c126252c9950d072ab67d8b849d17643 23-Aug-2010 Irfan Sheriff <isheriff@google.com> cache configured networks

Remove the sync-wait call into state machine for
fetching configured networks

Bug: b/2876746
Change-Id: I4434627abb78f7112fd613008c4c77374ac1b966
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
d8134ff9d8178470116108bb7815fd0ab2a606a1 23-Aug-2010 Irfan Sheriff <isheriff@google.com> Clean up synchronous calls

We dont plan to have asynchronous versions of the existing
synchronous calls since we have added more powerful
asynchronous calls. Remove functionality to check for
synchronous calls.

Also, remove unused sync call for fetching status

Change-Id: I2982cb7b2aabc88a63289d49686a6e3645085263
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
cdea9193f2745fd46e69858a7c5570d95f8182dc 20-Aug-2010 Irfan Sheriff <isheriff@google.com> update ssid in WifiInfo

Bug: 2876746
Change-Id: I58295e01f07f168e234ab344065fe50047902c76
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
f99819e47cbef2ec066a21b426c7e6fe95e3de48 20-Aug-2010 Irfan Sheriff <isheriff@google.com> clean up scanresults on exit from driver start state

Bug: 2934389
Change-Id: I918bb9e198aba0bdbb2be356a680789c9678e47c
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e498475b187277309c81b38240c7e71ec049e369 19-Aug-2010 Irfan Sheriff <isheriff@google.com> asynchronous driver commands

Make some of the common driver commands scan/disconnect/reconnect/reassociate
asynchronous. We already have broadcasts to indicate results.

Change-Id: I343c6be077fb11a3d488e586ab10ab2373b269d8
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
e04653cbd0e8303eba92088344312b827e6b0bab 09-Aug-2010 Irfan Sheriff <isheriff@google.com> Asynchronous API

Add asynchronous API for simplified connect, save
and remove.

Add a SUPPLICANT_CONFIG_CHANGED_ACTION broadcast to
notifiy a supplicant configuration change.

Change-Id: I69ae116246094de4a469cb2af5baf37e5ad4d6dd
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
994c57828f5bc5519197e8b8ed2d2cba40429ce0 11-Aug-2010 Irfan Sheriff <isheriff@google.com> Fix build

A local change had remained.

Change-Id: Iad01d6da7f6cc75b470296383e1121d21008883a
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java
0d25534fed91f636def5776ddc4605005bd7471c 28-Jul-2010 Irfan Sheriff <isheriff@google.com> Split WifiStateMachine from WifiStateTracker

Notifications handled in WifiService. WifiStateTracker tracks
state for connectivity service

Change-Id: Idb0cf494898d28712af0f95f9e60c5417cd4a053
/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java