64 Commits

Author SHA1 Message Date
Xia Wang
f2991add02 Fix WiFi test:
-- In environment where there are too many APs, sometimes, the AP will not show in the scan list.
    Part of the reason is due to the change that the scanning on each frequency is shortened to save power.
    to avoid that, change the test to connect without scanning.

 -- Increase the timer to wait for WiFi to be connected

Change-Id: If1a72607b3c7ad13dbbf788607665986eaf5b6b3
2013-01-30 18:52:27 -08:00
Xia Wang
b2a2096903 Fix WiFi stress test
- Disable lock screen after screen is turned on.
   Without disabling lock screen, device will screen off automatically after around 10 seconds

 - Add a longer timer for ping test when the data traffic is stalled.
   For a short ping test, it is hard to tell whether it is a transient issue or a real issue.

   bug# 7426823

Change-Id: If1a560e11dcdff519562bb2a22651d1fd523b5a2
2012-10-31 17:03:23 -07:00
Xia Wang
2ab453b52b Fix connectivity manager test for tablet with data connection, multi-user support
bug#7366674

Change-Id: Ibbb4becebfc833529e85d8a311366586c5ba54ee
2012-10-17 12:03:29 -07:00
Xia Wang
3272a38dbc Fix Wifi Stress test after wifi settings are moved to Settings.global
Change-Id: I823e99b39bc340683b686bb0dd43a473865656f0
2012-09-26 09:23:59 -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
Jeff Brown
9630704ed3 Power manager rewrite.
The major goal of this rewrite is to make it easier to implement
power management policies correctly.  According, the new
implementation primarily uses state-based rather than event-based
triggers for applying changes to the current power state.

For example, when an application requests that the proximity
sensor be used to manage the screen state (by way of a wake lock),
the power manager makes note of the fact that the set of
wake locks changed.  Then it executes a common update function
that recalculates the entire state, first looking at wake locks,
then considering user activity, and eventually determining whether
the screen should be turned on or off.  At this point it may
make a request to a component called the DisplayPowerController
to asynchronously update the display's powe state.  Likewise,
DisplayPowerController makes note of the updated power request
and schedules its own update function to figure out what needs
to be changed.

The big benefit of this approach is that it's easy to mutate
multiple properties of the power state simultaneously then
apply their joint effects together all at once.  Transitions
between states are detected and resolved by the update in
a consistent manner.

The new power manager service has is implemented as a set of
loosely coupled components.  For the most part, information
only flows one way through these components (by issuing a
request to that component) although some components support
sending a message back to indicate when the work has been
completed.  For example, the DisplayPowerController posts
a callback runnable asynchronously to tell the PowerManagerService
when the display is ready.  An important feature of this
approach is that each component neatly encapsulates its
state and maintains its own invariants.  Moreover, we do
not need to worry about deadlocks or awkward mutual exclusion
semantics because most of the requests are asynchronous.

The benefits of this design are especially apparent in
the implementation of the screen on / off and brightness
control animations which are able to take advantage of
framework features like properties, ObjectAnimator
and Choreographer.

The screen on / off animation is now the responsibility
of the power manager (instead of surface flinger).  This change
makes it much easier to ensure that the animation is properly
coordinated with other power state changes and eliminates
the cause of race conditions in the older implementation.

The because of the userActivity() function has been changed
so that it never wakes the device from sleep.  This change
removes ambiguity around forcing or disabling user activity
for various purposes.  To wake the device, use wakeUp().
To put it to sleep, use goToSleep().  Simple.

The power manager service interface and API has been significantly
simplified and consolidated.  Also fixed some inconsistencies
related to how the minimum and maximum screen brightness setting
was presented in brightness control widgets and enforced behind
the scenes.

At present the following features are implemented:

- Wake locks.
- User activity.
- Wake up / go to sleep.
- Power state broadcasts.
- Battery stats and event log notifications.
- Dreams.
- Proximity screen off.
- Animated screen on / off transitions.
- Auto-dimming.
- Auto-brightness control for the screen backlight with
  different timeouts for ramping up versus ramping down.
- Auto-on when plugged or unplugged.
- Stay on when plugged.
- Device administration maximum user activity timeout.
- Application controlled brightness via window manager.

The following features are not yet implemented:

- Reduced user activity timeout for the key guard.
- Reduced user activity timeout for the phone application.
- Coordinating screen on barriers with the window manager.
- Preventing auto-rotation during power state changes.
- Auto-brightness adjustment setting (feature was disabled
  in previous version of the power manager service pending
  an improved UI design so leaving it out for now).
- Interpolated brightness control (a proposed new scheme
  for more compactly specifying auto-brightness levels
  in config.xml).
- Button / keyboard backlight control.
- Change window manager to associated WorkSource with
  KEEP_SCREEN_ON_FLAG wake lock instead of talking
  directly to the battery stats service.
- Optionally support animating screen brightness when
  turning on/off instead of playing electron beam animation
  (config_animateScreenLights).

Change-Id: I1d7a52e98f0449f76d70bf421f6a7f245957d1d7
2012-08-15 03:06:24 -07:00
Irfan Sheriff
88759bbd31 Update WifiManager API
Use feedback based on NSD to update WifiManager API

Change-Id: I0c1dc74f7e2fa7cd697a995b7194e3e0366d7981
2012-07-24 13:34:36 -07:00
Xia Wang
2f19a3103c Fix issue: Disable soft ap when test activity is created.
Add timer for soft ap enalbing timer: 6192139

Change-Id: I9f9a6a1f0787efdfbb924af80f7d610c07cd32e5
2012-05-15 16:10:55 -07:00
Xia Wang
81341fee6d Fix Wifi test
bug: http://b/issue?id=6446248
Change-Id: I22783ed3de37bf51aed7cee9617017868f524f0d
2012-05-06 16:03:34 -07:00
Kenny Root
fb32ab903a Update Wifi tests
Wifi tests used old WifiConfiguration values. This updates it to the new
values.

Change-Id: I14498aebba50f906181fa377b84855eae3d046fc
2012-03-27 21:12:08 -07:00
Xia Wang
6d3c2f0cad Fix test flakiness
Disable soft AP before start the wifi stress test.
If soft AP test failed with AP enabled, the wifi client can not be
enabled.

Change-Id: Ie6950f6b5b662727f2e811d9b81aeb0f4f7cda91
2012-03-12 13:58:45 -07:00
Xia Wang
776cca3b3a Allow CM/WIFI tests running with wifi-only flag.
Change-Id: I12ab8f6f0335574a5af6db497ed76e6d5fec3ab7
2012-03-09 16:59:39 -08:00
Xia Wang
27284da88c Fix CM test
http://b/issue?id=6125619

Change-Id: I33306619424ab54281aaf592c78581179ebbfc6e
2012-03-08 15:57:26 -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
Xia Wang
16b7ddcfe6 Remove airplane mode related wifi test for Wi-Fi only devices.
Change-Id: I5b319b98ac68c0b7f053c5baf084c3138db8fe07
2012-02-16 10:00:33 -08:00
Brett Chabot
4dfa295ad8 Use PackageManager to detect wifi-only devices in ConnectivityManagerTest.
Change-Id: I9749bf9024a73af095d4a681bb902594828ad599
2012-02-01 10:32:18 -08:00
Xia Wang
4acb784630 am 87badc20: am 4ac4ab4e: Merge "Remove sleep from test acitivity to avoid ANR when key event is injected bug#: 5737922" into ics-mr1
* commit '87badc20c7d5462ee27f13adf50acaf6a3232884':
  Remove sleep from test acitivity to avoid ANR when key event is injected bug#: 5737922
2012-01-11 17:57:16 -08:00
Xia Wang
8017794091 Remove sleep from test acitivity to avoid ANR when key event is injected
bug#: 5737922

Change-Id: I7871713c5000d122e63127b30d0151b8f5a29bcf
2011-12-19 17:20:04 -08:00
Irfan Sheriff
cdc077c9dd 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
2011-12-12 16:47:02 -08:00
Xia Wang
10a3e8fae8 Add extra 2 minute for wifi to shutdown
Change-Id: I3cf2fbf5de8b96b75d5e460e4ad822a1947ff6e7
2011-12-05 12:22:47 -08:00
Xia Wang
2d9f462062 Fix build
Change-Id: I465d85e4783763f311ed6ec0a09c1edde9712405
2011-11-28 16:49:06 -08:00
Xia Wang
a4c2caac05 Increase time between wifi stop and wifi start: set to 2 minutes
http://b/issue?id=5629901

Change on state validation:
  - When network state is broadcast in other network information,
    the test activity will record the state change which cause false
    alarm in the test.

Change-Id: I8bd1e8c04ab97116f3a02ccc5543f34a7e651cda
2011-11-21 21:22:10 -08:00
Robert Greenwalt
aa70f101e0 Add RouteInfo objects for tracking routes.
Used to have list of gateways for default routes, but general static routes
should be supported.

Change-Id: I01730142c6139f2b833b9d48f5381d2d320b69f6
2011-05-02 11:17:30 -07:00
Xia Wang
dddfaa75e7 Fix access point parsing: reset static link property after parsing
static ip setting
Fix removeConfiguredNetwork: add sleep between remove configured network
and disable wifi

Change-Id: I619e79e9bc414b9aeae3537dbc642a7fbc9fca97
2011-04-08 16:31:01 -07:00
Xia Wang
4bc5c4a1f5 resolved conflicts for merge of 16cbe575 to honeycomb-mr1
Change-Id: Ic55f0bdeb5fc63bdabb4f4546fa7e1aa3201a6e0
2011-03-10 15:09:46 -08:00
Xia Wang
3d58d63b03 Add WifiStressTest to Wi-Fi only test suite.
Change-Id: Id15ec2e291729b910ee05cef4650efb8d2e1a43c
2011-03-08 18:25:31 -08:00
Xia Wang
7d83f6020c am 928ec5e0: Merge "Modify connectivity manager test suite so that it can be run on Wi-Fi only device." into honeycomb
* commit '928ec5e021162fe371da8bdac7f5bb2c854b1aa1':
  Modify connectivity manager test suite so that it can be run on Wi-Fi only device.
2011-03-05 09:25:30 -08:00
Xia Wang
b97435c94f Modify connectivity manager test suite so that it can be run on Wi-Fi
only device.

DO NOT MERGE

bug id: 3511242

Change-Id: I7dc6d30793cf679b53af571f58b7405ab9e33299
2011-03-03 18:46:24 -08:00
Irfan Sheriff
ebe606fccd Using AsyncChannel for wifi connectivity
Change-Id: Ieee5a3a1a739238d8a6659493684f1be0cbea691
2011-02-28 15:54:51 -08:00
Xia Wang
8d2f78898e Remove long sleep time in WifiApStress test
as it causes the test to run for a long time.

Change-Id: I82dd042866f9e9f4637a5c3cc553334abe769260
2011-02-23 11:39:14 -08:00
Xia Wang
6bffe14c78 Add ping test to verify data connection.
Change-Id: I88e06934747e9e98bd440ae84268e69486c74734
2011-02-17 15:32:37 -08:00
Robert Greenwalt
b979f79158 Remove more use of netmask
bug:2542681
Change-Id: Ifd75672739ee8262d4df22afd8173e4f3f67260d
2011-02-14 14:32:33 -08:00
Xia Wang
718dfa8d94 Merge "Add wait time for Wi-Fi tethering test, bug http://b/issue?id=3436586" 2011-02-14 09:32:10 -08:00
Xia Wang
cbafbe7c3e Merge "Fix test3GToWifiNotification for mobile state validation." 2011-02-11 13:55:44 -08:00
Robert Greenwalt
992564e481 Update LinkProperties treatment of gateways
A link can have multiple gateways (think ipv4/ipv6 for a trivial example).
.

bug:3438810
Change-Id: I28c90a6947cd50b82e5ca9a0113148f98b3f4dd8
2011-02-11 11:06:23 -08:00
Xia Wang
be142fc6aa Fix test3GToWifiNotification for mobile state validation.
Change-Id: I018b28b78907fdd9f3f835faf562b4da5fea8f80
2011-02-10 18:43:45 -08:00
Xia Wang
ec841adcf7 Add wait time for Wi-Fi tethering test, bug http://b/issue?id=3436586
Change-Id: I6aaac0e6ef7f89d5052c8a5dd2bef71612e72942
2011-02-10 16:28:15 -08:00
Yu Shan Emily Lau
3d273da8fa Change the default ssid from GoogleGuest to the opennet for the power test.
Change-Id: I63bae360d283dc5224790aaccbd879015402187d
2011-01-21 14:06:22 -08:00
Xia Wang
2dc2991f58 Wait for Wi-Fi state change before set the state verification criteria.
bug: 3336896

Change-Id: If4faf55d1c9a326a0cbd95013b8a5edce562230e
2011-01-11 17:35:56 -08:00
Irfan Sheriff
b45e726bf5 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
2010-12-22 14:43:13 -08:00
Xia Wang
73055f12d7 Few changes for Wi-Fi Stress Test
Add WIFI_IDLE_MS to 1min in Wi-Fi stress test. bug#3284797
Wake up device using PowerManagerService.userActivityWithForce instead
of full wake lock.
Turn screen on when running Wi-Fi tests.

Change-Id: Ib763136cef515eec8b1d25183cf7a84ae1038ef2
2010-12-21 11:31:06 -08:00
Irfan Sheriff
58938159ec Fix ssid storage regression
I introduced a bug with change Ic12fd78f. Quite
possibly a copy-paste issue.

Bug: 3281928
Change-Id: I040fa8580c3d6d5c585d0e5cc4306daab2f44c3d
2010-12-16 07:45:58 -08:00
Xia Wang
8efaeb03ea Disable airplane mode once the test is finished. #3276498
Verify wifi state in 3g->AM->3g test.

Change-Id: I3ce7ebad963c09be666b508f05eddbd0ded255d7
2010-12-10 17:20:30 -08:00
Xia Wang
93ca011c60 Make Wi-Fi stress tests output log consistent.
Fix: record average at the beginning of each iteration

Change-Id: Ia129348dbf79ecf7efc7169b8bbfac3755ccce63
2010-12-09 19:07:59 -08:00
Xia Wang
8c1c1e875e Make the scan test log consistent.
Change-Id: I44fd790c21fed6bb2b615a047b762b5ac7c451bb
2010-12-07 15:39:11 -08:00
Xia Wang
90e1c782a6 Add Wi-Fi stress tests.
- Wi-Fi scan stress
- Wi-Fi reconnection stress
- Measure Wi-Fi scanning performance:
  . Average scanning time
  . Scanning quality

Change-Id: Ifce496876811816b452aed4ae9642fdb2db44798
2010-12-07 14:21:51 -08:00
Xia Wang
a42a1e6b6f Add Wi-Fi connection test for static IP
- Add support in access point parser to support static ip settings
- Add Wi-Fi test with static IP configuration
- Use WifiManager new APIs
- Fix issue: if the expected AP is not in the scan list, retry scanning.
  Maximum is 5.
- Fix issue: wait for wifi state change before connecting to AP.

Change-Id: Id09b921c8a6a4b14f3c65cdea0b58c7e6f395520
2010-12-02 16:25:26 -08:00
Xia Wang
ef11d3289e am 6bdd6937: am 5df8c155: Merge "Add Wifi Tethering stress test" into gingerbread
* commit '6bdd69370fe2bda7adc7055f62165fccd944b192':
  Add Wifi Tethering stress test
2010-11-22 14:50:28 -08:00
Xia Wang
6026d52710 Add Wifi Tethering stress test
Stress Wifi driver loading and unloading by enable/disable access point
mode.

Change-Id: Ie31266d2b9665cb304473f1c14c83bc57e9920f2
2010-11-22 12:00:31 -08:00
Xia Wang
4e74e181d1 am f55c9736: am d0a8f54a: Merge "Add Wi-Fi connection functional tests." into gingerbread
* commit 'f55c973637f2b17de0f5543260e7e409a8635112':
  Add Wi-Fi connection functional tests.
2010-11-16 09:18:48 -08:00