59 Commits

Author SHA1 Message Date
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
Mike Lockwood
e2a5385c70 resolved conflicts for merge of f7703519 to master 2009-07-14 21:44:30 -04:00
Mike Lockwood
f32be166d5 wifi: Disable RSSI polling when the screen is off.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-14 18:28:35 -04:00
Mike Lockwood
0900f36576 wifi: Keep the WLAN network interface up whenever wifi is enabled.
We now only bring it down briefly and bring it back up again when
we want to reset the interface.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-10 17:24:07 -04:00
Mike Lockwood
622f82a0c7 WifiService: Remove hidden AP counting logic for active/passive scanning mode.
Apparently this code was not 100% correct, and now the Wifi driver is responsible
for setting the scan mode to active for hidden networks, so this is no longer needed.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-09 23:39:01 -04:00
Android (Google) Code Review
6811355d96 am 463aacfb: Merge change 6661 into donut
Merge commit '463aacfbd220c9ef2f6ed915d54092289fdac05b'

* commit '463aacfbd220c9ef2f6ed915d54092289fdac05b':
  wifi: WifiManager.startScan() will now do passive scans by default.
2009-07-09 14:27:38 -07:00
Mike Lockwood
a5ec95cdb1 wifi: WifiManager.startScan() will now do passive scans by default.
Active scans will only happen if a hidden AP is in use, or if the new method
WifiManager.startScanActive() is called.
This fixes some audio playback problems with bluetooth A2DP.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-09 16:54:39 -04:00
San Mehat
856d080ae5 am 0310f9aa: WifiService: Fix build (missing import)
Merge commit '0310f9aa21ed8714acbe56afea061596fb8f1ac4'

* commit '0310f9aa21ed8714acbe56afea061596fb8f1ac4':
  WifiService: Fix build (missing import)
2009-07-07 10:52:51 -07:00
San Mehat
0310f9aa21 WifiService: Fix build (missing import)
Signed-off-by: San Mehat <san@google.com>
2009-07-07 10:50:39 -07:00
San Mehat
a15dd950e5 am fa6c7111: WifiService: use wifi association state to determine if we should suspend wifi instead of the existance of an IP address.
Merge commit 'fa6c7111fe58e09a92741c7655221c3629d3220e'

* commit 'fa6c7111fe58e09a92741c7655221c3629d3220e':
  WifiService: use wifi association state to determine if we should suspend wifi instead of
2009-07-07 10:19:56 -07:00
San Mehat
fa6c7111fe WifiService: use wifi association state to determine if we should suspend wifi instead of
the existance of an IP address.

Signed-off-by: San Mehat <san@google.com>
2009-07-07 09:41:39 -07:00
Amith Yamasani
47873e5526 Backup Wifi supplicant data.
WifiService requests a backup when it writes wifi configuration to disk.
Backup the wifi supplicant file when settings provider runs backup.
2009-07-06 14:28:06 -07:00
Chung-yih Wang
58c714c41a am 699ca3f2: Add password field for WiFi configuration.
Merge commit '699ca3f2518360ea3250ff5a0e5d39e122c64a91'

* commit '699ca3f2518360ea3250ff5a0e5d39e122c64a91':
  Add password field for WiFi configuration.
2009-07-06 11:22:18 -07:00
Chung-yih Wang
699ca3f251 Add password field for WiFi configuration.
1. the certtool.h is modified for avoiding the side effect,
   for saving the configuration with wpa_supplicant.
2. put the loadLibrary back in CertTool.java
3. Fix incorrect JNI declarations.
2009-07-05 11:06:01 +08:00
Android (Google) Code Review
0d0012ef16 am 54af78a3: Merge change 5950 into donut
Merge commit '54af78a3f7064e04d7ebd64c985d4149f9f7b05c'

* commit '54af78a3f7064e04d7ebd64c985d4149f9f7b05c':
  Fix memory leaks in system_server
2009-07-02 15:23:56 -07:00
Amith Yamasani
16d79e56ca Backup Wifi supplicant data.
WifiService requests a backup when it writes wifi configuration to disk.
Backup the wifi supplicant file when settings provider runs backup.
2009-07-02 12:05:32 -07:00
Suchi Amalapurapu
fff2fda019 Fix memory leaks in system_server
unlink DeathRecipients in a whole bunch of places to avoid memory leaks
2009-07-01 12:55:30 -07:00
Mike Lockwood
1a645058a8 WifiService: Update all scan result values in our scan result cache.
Previously only the level was being updated, resulting in out of date values
being left in the cache.
Patch was provided by Motorola.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-06-25 13:01:12 -04:00
Android (Google) Code Review
36d3ebb880 am 19cd309f: Merge change 3017 into donut
Merge commit '19cd309f9eccdf8454dc6e5076013588b7a170a3'

* commit '19cd309f9eccdf8454dc6e5076013588b7a170a3':
  Add the EAP related fields for WiFi configuration.
2009-06-05 21:18:02 -07:00
Chung-yih Wang
5069cc7849 Add the EAP related fields for WiFi configuration.
-- added the EAP/802.1X related fields in WifiConfiguration for
  supporting EAP/802.1X authentication.
-- hid the related fields for now.
2009-06-05 02:10:35 +08:00
Android (Google) Code Review
96cdc61c69 am 1e2e44e9: Merge change 2365 into donut
Merge commit '1e2e44e900cb9a25d548e27a20d65292a7f321bc'

* commit '1e2e44e900cb9a25d548e27a20d65292a7f321bc':
  Fix wifi multicast API for public use.
  Revert "Bug fixes and performance improvements"
2009-05-28 14:34:28 -07:00
Robert Greenwalt
fc1b15cfbf Fix wifi multicast API for public use.
Applying API review comments and taking it public.
2009-05-28 13:37:06 -07:00
Robert Greenwalt
b5010cc3c3 Add carrier/mcc factors to wifi-channel decision.
Uses ro.carrier and MCC when available to try to set
(non-persistingly) the number of allowed wifi channels.
Part of the fix for 1625953.
2009-05-22 09:31:41 -07:00
Robert Greenwalt
58ff0217a6 Increment BatteryStatsImpl's VERSION.
That'll make it stop trying to interpret older records with the new format.
Also applied other comments involving name changes to remove un-needed 'Wifi' labels in WifiManager API, etc.
2009-05-19 15:53:54 -07:00
Mike Lockwood
d9c32bc838 WifiService: Wifi power management change
Put Wifi into an idle state immediately if the screen is turned off and the Wifi interface has no IP address.
We will continue to keep Wifi up for 15 minutes in the case where the screen is turned off when Wifi is fully connected.
This will allow us to go into a low power mode faster when Wifi is not actively being used.
It also avoids bringing up Wifi if the user just turns on the screen for a few seconds to check the clock, etc.

Fixes bug b/1736920

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-18 15:54:16 -04:00
Robert Greenwalt
5347bd4cda Add wifi multicast filter api (enable/disable).
Fixes 1833432.  Automatically re-disables any request when the app
exits/crashes.  Also hooked into Battery Stats for power managment analysis.
2009-05-13 15:10:16 -07:00
Mike Lockwood
b30475ecef WifiService: Cleanup parsing of wifi scan results.
Also add support for possitive RSSI values, fixing b/1786306

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-21 13:55:07 -07:00
Dianne Hackborn
617f877c06 AI 143800: am: CL 143748 Fix issue #1743326 (More battery stats)
Adds stats for:
  - Number of raw user events that have happened in the system.
  - Number of times user activity has been reported, dividied by UID and type of activity.
  - Duration of screen brightness levels in 4 buckets.
  - Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.
  Original author: hackbod
  Merged from: //branches/cupcake/...

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

Automated import of CL 143266
2009-03-27 20:25:31 -07:00
Eric Shienbrood
d4c5f8919b Automated import from //branches/donutburger/...@140679,140679 2009-03-24 18:13:20 -07:00
The Android Open Source Project
105925376f auto import from //branches/cupcake_rel/...@140373 2009-03-18 17:39:46 -07:00