89 Commits

Author SHA1 Message Date
Wink Saville
c7a98341b0 Add documentation to NetworkStateTracker and a small change to the API.
Also, removed some unused NetworkStateTracker event codes.

The API change was to add context and target to startMonitor, this makes
it easier to document what the actual interface contract is.

Change-Id: If9b52486c3c281fe4794bc78417c8b03888414b1
2010-08-13 16:11:42 -07:00
Irfan Sheriff
e04653cbd0 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
2010-08-12 07:57:36 -07:00
Irfan Sheriff
0d25534fed Split WifiStateMachine from WifiStateTracker
Notifications handled in WifiService. WifiStateTracker tracks
state for connectivity service

Change-Id: Idb0cf494898d28712af0f95f9e60c5417cd4a053
2010-08-10 15:18:25 -07:00
Irfan Sheriff
a2a1b911a3 Refactor WifiStateTracker
Implement WifiStateTracker as a HSM.

Change-Id: Ic12fd78f1f183b5c4dea8ad2301002267ceff0cb
2010-07-27 11:59:29 -07:00
Irfan Sheriff
30683b2ad0 am 53dca61f: am 9005e7f4: Merge "Add setWifiApConfiguration interface" into gingerbread
Merge commit '53dca61f26f4ff348418add60599213297acc899'

* commit '53dca61f26f4ff348418add60599213297acc899':
  Add setWifiApConfiguration interface
2010-06-25 19:53:34 -07:00
Irfan Sheriff
17b232b5b5 Add setWifiApConfiguration interface
Bug: 2538623
Change-Id: I779044173a2fa0e9b851ea92aeec5ca25eb9c86f
2010-06-24 20:03:38 -07:00
Robert Greenwalt
14f2ef4c9d Move the net transition wakelock to ConnService.
When the default network goes down we lose the wake-on-incoming-data capability
until the new net is brought up and apps rebuild their connections.  We fixed this
in Wifi, but it's a general connectivity issue, not a wifi issue so moving the
mechanism to connecitivty so other networks can use it.

bug:2734419
Change-Id: I39b5d825eb6b548bd9bb8f179b89254f4db53147
2010-06-16 11:04:37 -07:00
Irfan Sheriff
afadc8b4e1 Dont persist config on failure
If soft AP bring up does not go through successfully,
dont persist the config. This has the benefit of recovering
from the case where things fail on "=" and "," for SSID since
the IOCTL parsing in driver on broadcom cannot handle it
at this time.

Change-Id: Iaa60fd05972db434500753dcb59092995dab07b1
2010-06-11 14:43:14 -07:00
Chung-yih Wang
047076d170 Make the SSID field of WifiConfiguration consistent with API description.
Bug id http://b/issue?id=2684571

Change-Id: I809478991ba606252d69ef007339754ab2856416
2010-05-15 11:03:30 +08:00
Irfan Sheriff
b2e6c01f44 Disable tethering when airplane mode is enabled
Tethering should be disabled when
airplane mode is enabled. Additionally,
we should restore Wifi (if it was on
before tethering was enabled) when
airplane mode is disabled.

Bug: 2567099
Change-Id: Iba2031f5ecb207954fd155c47134b39ed0167fa0
2010-04-06 10:35:27 -07:00
Irfan Sheriff
60e3ba071d Dont start wifi if in airplane mode
Now that wifi start is asynchronous
at the time of bring up, make sure
Wifi is not started if in airplane
mode.

Bug: 2567652
Change-Id: I947b7c8480029973bcbf028f6143aabbc88c9793
2010-04-02 12:43:04 -07:00
Irfan Sheriff
59610c041a cherry-pick d4f3958bde05d04f97e0a4054d2a6185989d99f3 into Froyo
Setting the allowed channel count in the
driver can take a long time to potentially
cause ANR in the phone process. Make the call
asynchronous

Bug: 2555117
Change-Id: Ie3c2e6f90aa0ec8ee4b85c989ccae1ca0f2b94f9
2010-03-30 13:37:00 -07:00
Irfan Sheriff
b99fe5e622 cherry-pick 288b4ac94571e6f77036831708e7bb7c31874688 into froyo
Killing the WifiWatchdogService thread from
WifiService can cause messages to be handled on
a dead thread. Quit the thread on the broadcast
instead.

A couple of more fixes:
- Do an asynchronous bring up of Wifi. This will
allow WifiWatchdogServiceThread to be immediately
brought up, instead of relying on an update.

- There is no need to listen on supplicant connection
in wifiwatchdog anymore. We kill the thread when
supplicant connection is no more.

Bug: 2546756
Change-Id: I15a188e031bc79856c55aabdd271287b0df0377d
2010-03-29 12:02:44 -07:00
Irfan Sheriff
a3bd409a0a settings variable for wifi saved state
We add a variable for saving wifi state
to restore after tethering.

Bring up wifi on boot up if the state indicates so.

Bug: 2537983
Change-Id: I9c6548b93df6fcbc0cec1e6b857f7224dc6d1b2c
2010-03-25 15:10:34 -07:00
Robert Greenwalt
bfb7bfa538 Update Framework to support multiple dhpc ranges
Previously we only supported a single range - this was inadequate for
multiple interfaces.  Adding a second range so we can support
both usb and wifi tethering.

Also moving out of the zero-conf range as our dhcp client won't
accept ip addrs in that range (no nexus to nexus wifi action).

bug: 2537963
bug: 2533491
bug: 2538303
Change-Id: I600b421343c28c2f9839ed2076122ae3d0ff5d3d
2010-03-25 14:46:13 -07:00
Irfan Sheriff
f91444c5e1 Disallow tethering disable by Wifi
Disallow Tethering being disabled by Wifi
and vice versa. We now need to explicitly
disable tethering to enable Wifi.

Bug: 2539071
Change-Id: Id34a5335e70cb7234367b4709882937a4b8cc526
2010-03-24 18:01:57 -07:00
Irfan Sheriff
3bf504df9f Fix WakeLock issue for driver stop
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
2010-03-24 17:59:42 -07:00
Irfan Sheriff
80cb598599 Fix wakelock
Bug: 2413908
Change-Id: Ic7f2efa94b0ad1c561db0ffab8c531d19e6c235e
2010-03-19 12:59:11 -07:00
Irfan Sheriff
c2f54c267b Clean up changing AP configuration
Bug: 2527293
Change-Id: I35e82e24e27349e2966f88189ebca4246ad1a354
2010-03-18 16:02:56 -07:00
Irfan Sheriff
1a543010e5 Dont disable AP for tether failures
Bug: 2524514
Change-Id: I8a59e717c5b36b83adbed43184fd45d7cbfedd9a
2010-03-18 11:44:48 -07:00
Irfan Sheriff
9ab518ad79 softAp framework changes
Remove AP persist settings
Add new netd interface
Handle errors
Handle AP config change
Bug: 2413908
Change-Id: I31a1221ef5479da8d4a2620f0f0ee0b62539bc69
2010-03-16 19:54:17 -07:00
Irfan Sheriff
44113ba31a Remove reload config for priority change
Bug: 2467689
Change-Id: Icd3bb17f5b794282219dd410cb56888d10130281
2010-03-16 15:57:09 -07:00
Irfan Sheriff
7b00978dc7 Run WifiWatchdogServiceThread only on wifi enable
Bug: 2508997
Change-Id: Ib79ee25fcc8e39e9a1d6c5b9ef9681bc00b6d006
2010-03-12 13:16:47 -08:00
Irfan Sheriff
0f34406009 Clean up native access from framework
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
2010-03-10 16:42:23 -08:00
Irfan Sheriff
a8fbe1fb74 Re-organize access to native interface through WifiStateTracker
Bug: 2339709
Change-Id: Ibb2eeb09b83dc24897116ea15a9016f81a08d442
2010-03-10 08:28:08 -08:00
Christopher Tate
4528186e0d Refactor android.backup => android.app.backup
Change-Id: I0b21316ff890d7f3c7d4b82837bb60670724c2e8
2010-03-05 16:27:15 -08:00
Irfan Sheriff
5321aef4a2 Wifi AP framework changes first pass
Bug: 2421638
Change-Id: Ic5ea8f7560a7fe5e1b0769daa5d92cc33eefc692
2010-03-04 16:07:14 -08:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -08:00
Irfan Sheriff
102d05fa91 get DHCP IP on each connection
The IP state was not being refreshed when the supplicant transitions
from COMPLETED to ASSOCIATED to COMPLETED. This can lead to
a connected state with no real connection due to old IP settings.
The fix refreshes IP on each connection.

Bug: 2329261
Change-Id: I38cd56369ee2d8ab3e0f06f5c9f5712b9b2f35a0
2010-02-10 15:22:58 -08:00
Chia-chi Yeh
784d53e79b WifiService: allow EAP variables to be unset using empty strings. 2010-01-29 16:26:28 +08:00
Irfan Sheriff
cd7703712e Avoid wifi disable in a UNKNOWN state
Multiple broadcast receiver unregister calls cause exception.

Bug: 2361335
2010-01-12 14:53:44 -08:00
Irfan Sheriff
7aac5547da Synchronize all WifiNative calls
Some of the native calls were left unsynchronized in the framework. Pre-empted IOCTL call
interrupted by another call from the framework cannot be handled in the driver.

Bug: 2310455
2010-01-08 12:04:30 -08:00
Doug Zongker
43866e0c48 move some system services from gservices to secure settings
Change-Id: Ie2dfb99a2b42b2cc9310b858c044d8684e3493fa
2010-01-07 14:20:39 -08:00
Jaikumar Ganesh
47cc8112c3 am 9d3cb9bf: Merge change I204e4787 into eclair
Merge commit '9d3cb9bfc6d7a5f340d2dd8132b201b933687564' into eclair-mr2

* commit '9d3cb9bfc6d7a5f340d2dd8132b201b933687564':
  Fix updating Bluetooth icon on status bar and for Wifi.
2009-12-07 15:31:43 -08:00
Jaikumar Ganesh
084c665421 Fix updating Bluetooth icon on status bar and for Wifi.
Status bar uses the SINK_STATE_CHANGE intent to determine the icon.
This intent also has the device. Thus, we can get this intent for any
device and we update the icon wrongly. The same problem is with Wifi.

This was not commonly observed till now, but with the car dock changes
its easy to reproduce as we can get an incoming connection from the
car's bluetooth system. For Wifi, this will cause coexistance issues
especially with desk docks.

Dr No: Eastham
Bug: 2133530
2009-12-07 15:16:22 -08:00
Robert Greenwalt
f75aa36fc8 Add wifi "HANGED" driver state triggering reload.
The driver can now report to us that they are hosed and we'll shut
down wifi and restart it - only to be used as a last resort.

Also fixing synch problem with updateWifiState.

bug: 2173119
2009-10-23 11:12:47 -07:00
Robert Greenwalt
e2d155a51e Add a new API for initing Wifi multicast filtering
Gets rid of the old method which generated Log noise.

bug: 1973855
2009-10-21 15:03:44 -07:00
Robert Greenwalt
ceabc645d1 am 16cb04ab: Merge change If1acb2dd into eclair
Merge commit '16cb04ab1cd88d917fdd34a9063fe4a9707aa5b1' into eclair-mr2

* commit '16cb04ab1cd88d917fdd34a9063fe4a9707aa5b1':
  Add a little logging to diagnose wifi cycle bug
2009-10-13 09:56:40 -07:00
Robert Greenwalt
f1acb2ddcd Add a little logging to diagnose wifi cycle bug
Hiroshi approved (with serious code review).
bug: 2171575
2009-10-13 08:20:55 -07:00
Chung-yih Wang
a8d1594139 Support double-quote SSID in WifiService.
+ push the double-quote handling down to framework.

wpa_supplicant keeps the ssid in a quoted string in the config file. However,
the UI currently needs to handle the quoted string which makes it difficult
to handle the SSID containing the quotes. The change will move the
supplicant-specific double-quote handling from UI to framework, i.e. to
add/remove doubel-quotes in framework instead of in UI settings.
2009-10-13 09:03:35 +08:00
Robert Greenwalt
84612ea611 Add a delay to wifi driver stop on screen off.
We already had a delay if we were associated, but we have some race conditions
we think will be masked if we delay the driver stop for the other cases
too.  Don't wait as long (2 min instead of 15).

bug: 2147260
2009-09-30 09:04:22 -07:00
Robert Greenwalt
a99f461b98 Don't require WAKE_LOCK permission to enable wifi
The process for starting wifi was using a wakelock around a message-pass and this was causing
an exception for meer mortals (who don't have WAKE_LOCK permission).

bug: 1750535
2009-09-19 18:14:32 -07:00
Chung-yih Wang
4337476a66 Fix the missing part for reading enterprise fields in wifi configuration
+ refactor the enterprise fields.
2009-09-16 14:28:42 +08:00
Robert Greenwalt
7c9bf7caa2 Don't init wifiChannels until after supplicant up
The supplicant can take up to 15 seconds to start - setting the number of wifi channels
immediately after requested wifi start often will fail.

Changed to set the number of channels when the supplicant is reported as alive.

bug:2083601
2009-09-11 17:23:35 -07:00
Nick Pelly
005b228cdf API_CHANGE: Cleanup, javadoc and unhide more Bluetooth API.
This is a large batch, and covers:

-- Bluetooth Device Discovery --
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothAdapter.ACTION_DISCOVERY_FINISHED
BluetoothAdapter.startDiscovery()
BluetoothAdapter.cancelDiscovery()
BluetoothAdapter.isDiscovering()

-- Bluetooth bonding (pairing) --
BluetoothAdapter.getBondedDevices()
BluetoothDevice.ACTION_BOND_STATE_CHANGED
BluetoothDevice.EXTRA_BOND_STATE
BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE
BluetoothDevice.BOND_NONE
BluetoothDevice.BOND_BONDING
BluetoothDevice.BOND_BONDED
BluetoothDevice.getBondState()
BluetoothDevice.createBond()
BluetoothDevice.cancelBondProcess()
BluetoothDevice.removeBond()

-- BluetoothClass --
BluetoothDevice.ACTION_CLASS_CHANGED
BluetoothDevice.EXTRA_CLASS
BluetoothDevice.getBluetoothClass()
BluetoothClass.Service.*
BluetoothClass.Device.Major.*
BluetoothClass.Device.*
BluetoothClass.getDeviceClass()
BluetoothClass.getMajorDeviceClass()
BluetoothClass.hasService()

-- Misc BluetoothDevice --
BluetoothDevice.ACTION_ACL_CONNECTED
BluetoothDevice.ACTION_ACL_DISCONNECTED_REQUESTED
BluetoothDevice.ACTION_ACL_DISCONNECTED
BluetoothDevice.ACTION_DISCOVERED
BluetoothDevice.ACTION_NAME_CHANGED
BluetoothDevice.EXTRA_DEVICE
BluetoothDevice.EXTRA_NAME
BluetoothDevice.EXTRA_RSSI

-- Misc BluetoothAdapter --
BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED
BluetoothAdapter.EXTRA_LOCAL_NAME
BluetoothAdapter.checkBluetoothAddress()

I deprecated BluetoothIntent and moved each intent into the class it relates
to.

Change-Id: I877b1280428ab46278b2bc25668bb44cda22dc36
2009-09-10 18:52:21 -07:00
Mike Lockwood
00717e2d04 WifiService: Hash based on both SSID and BSSID in scan result cache.
Fixes problem with base stations that have multiple SSIDs.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-17 10:09:36 -04:00
Zheng BaoZhong
8d1668da94 Wifi: Fix synchronization bug in multicast lock.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-05 08:57:49 -04:00
Mike Lockwood
bd5ddf01e4 Wifi: Add support for enabling Wifi while in airplane mode.
If the new system settings value for AIRPLANE_MODE_TOGGLEABLE_RADIOS
contains RADIO_WIFI, then the user will be allowed to enable Wifi
while in airplane mode.
Turning on airplane mode will still disable Wifi, but the user will
be free to reenable it in the Settings app.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-29 21:37:14 -07:00
Android (Google) Code Review
d72aa3b92c am 356d4a14: Merge change 8172 into donut
Merge commit '356d4a14aa96cf52c16f7a4d381044ce28b01af3'

* commit '356d4a14aa96cf52c16f7a4d381044ce28b01af3':
  Add the phase2 field for EAP WiFi configuration.
2009-07-22 11:51:06 -07:00
Chung-yih Wang
b96ea206d9 Add the phase2 field for EAP WiFi configuration. 2009-07-22 15:58:30 +08:00