| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Provides a variety of device interactions with power. | 5 """Provides a variety of device interactions with power. |
| 6 """ | 6 """ |
| 7 # pylint: disable=unused-argument | 7 # pylint: disable=unused-argument |
| 8 | 8 |
| 9 import collections | 9 import collections |
| 10 import contextlib | 10 import contextlib |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 device_errors.DeviceVersionError: If device is not L or higher. | 282 device_errors.DeviceVersionError: If device is not L or higher. |
| 283 """ | 283 """ |
| 284 def battery_updates_disabled(): | 284 def battery_updates_disabled(): |
| 285 return self.GetCharging() is False | 285 return self.GetCharging() is False |
| 286 | 286 |
| 287 if (self._device.build_version_sdk < | 287 if (self._device.build_version_sdk < |
| 288 constants.ANDROID_SDK_VERSION_CODES.LOLLIPOP): | 288 constants.ANDROID_SDK_VERSION_CODES.LOLLIPOP): |
| 289 raise device_errors.DeviceVersionError('Device must be L or higher.') | 289 raise device_errors.DeviceVersionError('Device must be L or higher.') |
| 290 | 290 |
| 291 self._device.RunShellCommand( | 291 self._device.RunShellCommand( |
| 292 ['dumpsys', 'battery', 'reset'], check_return=True) | 292 ['dumpsys', 'battery', 'set', 'usb', '1'], check_return=True) |
| 293 self._device.RunShellCommand( |
| 294 ['dumpsys', 'battery', 'set', 'ac', '1'], check_return=True) |
| 293 self._device.RunShellCommand( | 295 self._device.RunShellCommand( |
| 294 ['dumpsys', 'batterystats', '--reset'], check_return=True) | 296 ['dumpsys', 'batterystats', '--reset'], check_return=True) |
| 295 battery_data = self._device.RunShellCommand( | 297 battery_data = self._device.RunShellCommand( |
| 296 ['dumpsys', 'batterystats', '--charged', '--checkin'], | 298 ['dumpsys', 'batterystats', '--charged', '--checkin'], |
| 297 check_return=True) | 299 check_return=True, large_output=True) |
| 298 ROW_TYPE_INDEX = 3 | 300 ROW_TYPE_INDEX = 3 |
| 299 PWI_POWER_INDEX = 5 | 301 PWI_POWER_INDEX = 5 |
| 300 for line in battery_data: | 302 for line in battery_data: |
| 301 l = line.split(',') | 303 l = line.split(',') |
| 302 if (len(l) > PWI_POWER_INDEX and l[ROW_TYPE_INDEX] == 'pwi' | 304 if (len(l) > PWI_POWER_INDEX and l[ROW_TYPE_INDEX] == 'pwi' |
| 303 and l[PWI_POWER_INDEX] != 0): | 305 and l[PWI_POWER_INDEX] != 0): |
| 304 raise device_errors.CommandFailedError( | 306 raise device_errors.CommandFailedError( |
| 305 'Non-zero pmi value found after reset.') | 307 'Non-zero pmi value found after reset.') |
| 306 self._device.RunShellCommand(['dumpsys', 'battery', 'set', 'ac', '0'], | 308 self._device.RunShellCommand(['dumpsys', 'battery', 'set', 'ac', '0'], |
| 307 check_return=True) | 309 check_return=True) |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 if temp is None: | 398 if temp is None: |
| 397 logging.warning('Unable to find current battery temperature.') | 399 logging.warning('Unable to find current battery temperature.') |
| 398 temp = 0 | 400 temp = 0 |
| 399 else: | 401 else: |
| 400 logging.info('Current battery temperature: %s', temp) | 402 logging.info('Current battery temperature: %s', temp) |
| 401 return int(temp) <= target_temp | 403 return int(temp) <= target_temp |
| 402 | 404 |
| 403 logging.info('Waiting for the device to cool down to %s degrees.', | 405 logging.info('Waiting for the device to cool down to %s degrees.', |
| 404 target_temp) | 406 target_temp) |
| 405 timeout_retry.WaitFor(cool_device, wait_period=wait_period) | 407 timeout_retry.WaitFor(cool_device, wait_period=wait_period) |
| OLD | NEW |