| #!/usr/bin/env python3 |
| # |
| # Copyright 2019 - The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the 'License'); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an 'AS IS' BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| from acts.test_utils.instrumentation.adb_command_types \ |
| import DeviceBinaryCommandSeries |
| from acts.test_utils.instrumentation.adb_command_types import DeviceSetprop |
| from acts.test_utils.instrumentation.adb_command_types import DeviceSetting |
| from acts.test_utils.instrumentation.adb_command_types import DeviceState |
| |
| GLOBAL = 'global' |
| SYSTEM = 'system' |
| SECURE = 'secure' |
| |
| """Common device settings for power testing.""" |
| |
| # TODO: add descriptions to each setting |
| |
| # Network/Connectivity |
| |
| airplane_mode = DeviceBinaryCommandSeries( |
| [ |
| DeviceSetting(GLOBAL, 'airplane_mode_on'), |
| DeviceState( |
| 'am broadcast -a android.intent.action.AIRPLANE_MODE --ez state', |
| 'true', 'false') |
| ] |
| ) |
| |
| mobile_data = DeviceBinaryCommandSeries( |
| [ |
| DeviceSetting(GLOBAL, 'mobile_data'), |
| DeviceState('svc data', 'enable', 'disable') |
| ] |
| ) |
| |
| cellular = DeviceSetting(GLOBAL, 'cell_on') |
| |
| wifi = DeviceBinaryCommandSeries( |
| [ |
| DeviceSetting(GLOBAL, 'wifi_on'), |
| DeviceState('svc wifi', 'enable', 'disable') |
| ] |
| ) |
| |
| ethernet = DeviceState('ifconfig eth0', 'up', 'down') |
| |
| bluetooth = DeviceState('service call bluetooth_manager', '6', '8') |
| |
| nfc = DeviceState('svc nfc', 'enable', 'disable') |
| |
| |
| # Calling |
| |
| disable_dialing = DeviceSetprop('ro.telephony.disable-call', 'true', 'false') |
| |
| |
| # Screen |
| |
| screen_adaptive_brightness = DeviceSetting( |
| SYSTEM, 'screen_brightness_mode') |
| |
| screen_brightness = DeviceSetting(SYSTEM, 'screen_brightness') |
| |
| screen_always_on = DeviceState('svc power stayon', 'true', 'false') |
| |
| screen_timeout_ms = DeviceSetting(SYSTEM, 'screen_off_timeout') |
| |
| doze_mode = DeviceSetting(SECURE, 'doze_enabled') |
| |
| wake_gesture = DeviceSetting(SECURE, 'wake_gesture_enabled') |
| |
| screensaver = DeviceSetting(SECURE, 'screensaver_enabled') |
| |
| notification_led = DeviceSetting(SYSTEM, 'notification_light_pulse') |
| |
| |
| # Accelerometer |
| |
| auto_rotate = DeviceSetting(SYSTEM, 'accelerometer_rotation') |
| |
| |
| # Time |
| |
| auto_time = DeviceSetting(GLOBAL, 'auto_time') |
| |
| auto_timezone = DeviceSetting(GLOBAL, 'auto_time_zone') |
| |
| timezone = DeviceSetprop('persist.sys.timezone') |
| |
| |
| # Location |
| |
| location_gps = DeviceSetting(SECURE, 'location_providers_allowed', |
| '+gps', '-gps') |
| |
| location_network = DeviceSetting(SECURE, 'location_providers_allowed', |
| '+network', '-network') |
| |
| |
| # Power |
| |
| battery_saver_mode = DeviceSetting(GLOBAL, 'low_power') |
| |
| battery_saver_trigger = DeviceSetting(GLOBAL, 'low_power_trigger_level') |
| |
| enable_full_batterystats_history = 'dumpsys batterystats --enable full-history' |
| |
| disable_doze = 'dumpsys deviceidle disable' |
| |
| |
| # Miscellaneous |
| |
| test_harness = DeviceBinaryCommandSeries( |
| [ |
| DeviceSetprop('ro.monkey'), |
| DeviceSetprop('ro.test_harness') |
| ] |
| ) |