195 Commits

Author SHA1 Message Date
Adam Powell
568f923ba4 Merge "removing ineffective code in WifiService.java" 2012-12-03 13:37:16 -08:00
You Kim
2bea585494 removing ineffective code in WifiService.java
no need to use wrapper class Long.
I think this looks like typo.
However, this fix will give us more space.

WifiService.class 33646 -> 33541.

Change-Id: Ia3a57285170315a9563c6ccf687424fe95ccc2df
2012-10-23 23:07:52 +09:00
Adam Powell
d56b4d1db3 Construct a task stack for picking a wifi network from notification
Bug 7001327

Change-Id: I5a79e6933cd33386cd0aa4df626f15902deedd67
2012-09-30 18:30:42 -07:00
Jean-Baptiste Queru
ecfc9ca5f5 Merge into jb-mr1-dev
Change-Id: Ia9c5e2295fe61ae0f5275d3ddfd056d9778b66d1
2012-09-25 09:40:41 -07:00
Dianne Hackborn
50cdf7c306 Fix issue #7214090: Need to be able to post notifications to all users
Also fix a bunch of system services that should be doing this.  And
while doing that, found I needed to fix PendingIntent to evaluate
USER_CURRENT at the point of sending, not creation.

Note that this may end up with us having some notification shown to
non-primary users that lead to settings UI that should only be for
the primary user (such as the vpn notification).  I'm not sure what
to do about this, maybe we need a different UI to come up there or
something, but showing the actual notification for those users at
least seems less broken than not telling them at all.

Change-Id: Iffc51e2d7c847e3d05064d292ab93937646a1ab7
2012-09-24 10:55:46 -07:00
Brian Muramatsu
35d323a520 Use global wifi_sleep_policy constants
Bug 7196148

This will get rid of the wifi_sleep_policy has moved log spamming.

Change-Id: I303c8da80289aba183eb1e51f6a006fc40cd1801
2012-09-20 19:52:34 -07:00
Irfan Sheriff
3d33a63391 Add restoreCallingIdentity under finally
Change-Id: I068b1a2fc93300aa9bd17da6933bc8c5f0a6b5e4
2012-09-16 17:59:13 -07:00
Irfan Sheriff
db831da426 Fix permission accessing getCurrentUser
Bug: 7174737
Change-Id: I0a6a9a46f4115743d16ada401cd67e3cf30fb380
2012-09-16 17:40:59 -07:00
Irfan Sheriff
3849490c63 Merge "Return empty scan results for background user" into jb-mr1-dev 2012-09-16 15:23:55 -07:00
Irfan Sheriff
330b187574 Return empty scan results for background user
Bug: 7087342
Change-Id: I62493e5004111311b7ac9b7610c85e6784e2c7e4
2012-09-16 12:39:06 -07:00
Christopher Tate
6f5a9a9652 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
2012-09-14 17:57:35 -07:00
Christopher Tate
c09cdce1b0 Update airplane-mode manipulation for the new Settings namespace
Quick Settings and global actions (aka longpress-Power) toggles are
included in this CL.  The Settings app manipulations are updated in
a different CL because that's a different git package.

Bug 7132230

Change-Id: I50838f5e8d7b25a750d2bcae90bf384b09816dbb
2012-09-10 16:50:57 -07:00
Irfan Sheriff
6bfc88876a 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
2012-08-29 15:35:57 -07:00
Irfan Sheriff
da6da0907b 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
2012-08-27 22:27:06 -07:00
Irfan Sheriff
35bbe27d58 Fix permission issue on channel
Change-Id: I57f5d128dc2e2aa3bff93e82456f73cb96851f82
2012-08-23 16:57:43 -07:00
Yuhao Zheng
f6307820c8 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
2012-08-15 15:22:37 -07:00
Irfan Sheriff
10d940d99f Fix permission issues for apps
Add a work around and create a bug for proper fix

Bug: 6882233
Change-Id: I342ef7ecade8b9e2c7d16e82ea9031214b1b4462
2012-07-26 11:09:16 -07:00
Irfan Sheriff
c91f0595d3 Remove unusued scan stats
This is now part of BatteryStats

Change-Id: I7e16207276e28eea3be8666990ae958b8ea7a17a
2012-06-19 16:21:23 -07:00
Nick Pelly
6ccaa540a1 Include WIFI scan's in Battery Stats.
Call noteWifiScanStartedFromSource() when a scan is started.
Call noteWifiScanStoppedFromSource() when a scan is finished.

The current implementation tracks to UID that requested the scan, and
correctly tracks the duration of the scan. It ignores scan requests
that occur when a scan is already in progress. It does not distinguish
between active and passive scans.

Repurpose all the noteScanWifiLockAcquired/Released() plumbing
for WIFI scan tracking. The WIFI scan locks were never reported
to the user. Use noteFullWifiLock() when WIFI scan locks are used -
this makes sense because the power draw for a WIFI scan lock
should be about the same as for a full WIFI lock.

Bug: 6642581
Change-Id: Ida6e87992853698545b89f875c973a239218317d
2012-06-15 16:10:38 -07:00
Irfan Sheriff
f82e7693ca Merge "handleAirplaneModeToggled cleanup" into jb-dev 2012-05-17 14:19:46 -07:00
Irfan Sheriff
42d73bba66 handleAirplaneModeToggled cleanup
Addressing a cosmetic comment from the previous CL

Bug: 6504534
Change-Id: I04981f8b541611cb93110e8b88cd7751027060cc
2012-05-17 14:14:44 -07:00
Irfan Sheriff
ce66556a34 Merge "Fix persisting wifi state on setWifiEnabled() call" into jb-dev 2012-05-17 14:10:35 -07:00
Irfan Sheriff
f03d62007c Fix persisting wifi state on setWifiEnabled() call
When somebody makes a quick setWifiEnabled calls in back to back succession,
we were missing setting the last state because we were only doing that
when wifi was in a particular state from a state machine's perspective.

This was done to handle the interaction b/w airplane and wifi and was
done in the wrong way. That part is now moved to the code which detects
airplane mode changes.

In the longer term, I want to move the whole persisting code as part of
wifi state machine which is more aware of the exact states wifi is in.

Bug: 6504534
Change-Id: I452f3f4efdeb84458dcfd280269e09ffa3844f05
2012-05-17 14:05:56 -07:00
Irfan Sheriff
bd21b78f0f Add logging to capture wifi enable
Bug: 6504534
Change-Id: I3c3a803ce5bc53f1bdae697a23b95d63db82717c
2012-05-16 13:42:46 -07:00
Irfan Sheriff
6079237576 Log messages in dump
Remove event logging and add messages in dump

Change-Id: Ic79c68443bac9b7257644ed6941853f44a9b0661
2012-04-16 16:47:10 -07:00
Irfan Sheriff
262f766ac8 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
2012-03-26 23:48:53 -07:00
Irfan Sheriff
86a5f5b9af 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
2012-03-02 14:09:53 -08:00
Irfan Sheriff
d3975a9177 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
2012-03-01 13:57:23 -08:00
Irfan Sheriff
07573b3249 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
2012-02-29 17:33:36 -08:00
Irfan Sheriff
8cef06798e Track scan count by UID
Helps track down misbehaving apps that are initiating
too many scans

Bug:5722180
Change-Id: I0bc396cf5e68ed53b900e8a65abb56acdbd8d8a5
2011-12-14 10:58:49 -08:00
Irfan Sheriff
afb847a469 Merge "Clean up synchronization" 2011-12-12 15:35:25 -08:00
Irfan Sheriff
e744cfff7c 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
2011-12-12 15:00:02 -08:00
Irfan Sheriff
97ff789332 Merge "Fix wifi bring up at boot up" into ics-mr1 2011-12-08 15:59:26 -08:00
Irfan Sheriff
5401f0b87b Fix wifi bring up at boot up
Bug: 5719176
Change-Id: Iac879fc634f6ab6289b73c46931d754bc0af2f87
2011-12-08 15:50:47 -08:00
Irfan Sheriff
4494c90616 Handle emergency call back mode correctly
Bug: 5726996
Change-Id: I5815dd402bd73c530b9ba6d545d8956064949aa2
2011-12-08 11:31:52 -08:00
Irfan Sheriff
87f0a7b1aa Fix CS wakelock handling
Change-Id: Ibe1c1ab3e26ff0ae7cab7bfb0bd868bfab246037
2011-12-07 11:28:21 -08:00
Irfan Sheriff
9575a1bea1 Convert soft ap config store to state machine
- Create thread when needed
- asynchronous interaction with wifi state machine

Bug: 5587391
Change-Id: Ie6d01b5a6b398a3fa12c384920a473e242443131
2011-11-08 15:45:42 -08:00
Irfan Sheriff
e6daca5f53 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
2011-11-03 15:48:43 -07:00
Wink Saville
ce0ea1f2b9 In releaseWifiLockLocked call noteReleaseWifiLock.
Bug: 5452027
Change-Id: I45786a9cfe752f02a9c2e75e5b6f35bc5dfed6ae
2011-10-13 16:55:20 -07:00
Irfan Sheriff
31b92e28a5 Remember wifi disable due to airplane
Add the wifi disabled due to airplane mode as a seperate settings so
that wifi is restored after a reboot when airplane mode is turned off

Bug: 5365718
Change-Id: I36a9694bbcacd5bb5f89498e4adc47c81e611da6
2011-10-03 12:13:20 -07:00
Irfan Sheriff
651cdfcbac Unhide wifi p2p API
Bug: 5247957
Change-Id: Id93e30c0cb60f361ba13a840de8f843415777336
2011-09-13 16:04:00 -07:00
Irfan Sheriff
616f3173e0 Emergency callback mode handling
For wifi, track ECM and shut down and restart when device
goes in ECM and out

For p2p, simply turn off when in ECM mode

Bug: 5185246
Change-Id: I5f5bf75fac3e27db1d7c412135c796f2b137263d
2011-09-11 22:56:17 -07:00
Irfan Sheriff
489a9d81fd 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
2011-09-06 22:32:58 -07:00
Isaac Levy
8dc6a1b282 Watchdog notify on explicit connect
Notifies when user explicitly clicks on wifi dialog.

Change-Id: I5eee37d68b422d748d41e9384d5006482a223dc5
2011-08-05 20:45:08 -07:00
Irfan Sheriff
fdd5f95a81 Update scanresult capability check
Scan results now have [ESS], [IBSS] & [P2P] to represent an
access point, ad-hoc network & p2p network.

Fix open network check.

Bug: 4998496
Change-Id: I0bf3f168677b0cd8cb27297427b539e768210995
2011-08-04 16:58:33 -07:00
Irfan Sheriff
b0c1b80f47 Fix multicast API
Fix multicast API and disable mutlicast V6 packets at driver start

Bug: 5016558
Change-Id: I1e04a905a36045e52c785c1dc702cc246a381a57
2011-07-21 13:37:57 -07:00
Isaac Levy
654f509075 WifiWatchdog rewrite to formal statemachine
Rewrote wifiwatchdog service to use net.statemachine

Change-Id: Id6fd42b13192ac2e99f842ff50e9edff1696675d
2011-07-15 12:31:58 -07:00
Isaac Levy
a7bc1135c2 Moved WifiWatchdogService and DnsPinger
- Moved WWS and DnsPinger in prep for StateMachine rewrite
 intent.

Change-Id: I912ca80d31ee2ded99eb345a2e5a55d01bd9910c
2011-07-06 13:54:48 -07:00
Isaac Levy
bc7dfb58bf WifiWatchdogService - disable bad connections
Complete rewrite of WifiWatchdogService.java.  Checking for connectivity and managing wifi upon failure detection.

Change-Id: Ifcb8b5d7e0112cbc2f2282d76fdc93ea15527a44
2011-06-24 15:48:10 -07:00
Dianne Hackborn
f741e679c4 resolved conflicts for merge of e2aa0490 to master
Change-Id: Id0448a1598fc93aca0652b29253e02586e35a067
2011-06-09 17:50:36 -07:00