| Index: build/android/pylib/android_commands.py
|
| diff --git a/build/android/pylib/android_commands.py b/build/android/pylib/android_commands.py
|
| index 816b002479afe0dcc8913894189f4e5f823ef077..0079051d64d7a229d8a105a41ea01b41353c9ef7 100644
|
| --- a/build/android/pylib/android_commands.py
|
| +++ b/build/android/pylib/android_commands.py
|
| @@ -1913,6 +1913,8 @@ class AndroidCommands(object):
|
| if self._control_usb_charging_command['cached']:
|
| return self._control_usb_charging_command['command']
|
| self._control_usb_charging_command['cached'] = True
|
| + if not self.IsRootEnabled():
|
| + return None
|
| for command in CONTROL_USB_CHARGING_COMMANDS:
|
| # Assert command is valid.
|
| assert 'disable_command' in command
|
| @@ -1927,26 +1929,32 @@ class AndroidCommands(object):
|
| def CanControlUsbCharging(self):
|
| return self._GetControlUsbChargingCommand() is not None
|
|
|
| - def DisableUsbCharging(self):
|
| + def DisableUsbCharging(self, timeout=10):
|
| command = self._GetControlUsbChargingCommand()
|
| if not command:
|
| raise Exception('Unable to act on usb charging.')
|
| disable_command = command['disable_command']
|
| + t0 = time.time()
|
| # Do not loop directly on self.IsDeviceCharging to cut the number of calls
|
| # to the device.
|
| while True:
|
| + if t0 + timeout - time.time() < 0:
|
| + raise pexpect.TIMEOUT('Unable to enable USB charging in time.')
|
| self.RunShellCommand(disable_command)
|
| if not self.IsDeviceCharging():
|
| break
|
|
|
| - def EnableUsbCharging(self):
|
| + def EnableUsbCharging(self, timeout=10):
|
| command = self._GetControlUsbChargingCommand()
|
| if not command:
|
| raise Exception('Unable to act on usb charging.')
|
| disable_command = command['enable_command']
|
| + t0 = time.time()
|
| # Do not loop directly on self.IsDeviceCharging to cut the number of calls
|
| # to the device.
|
| while True:
|
| + if t0 + timeout - time.time() < 0:
|
| + raise pexpect.TIMEOUT('Unable to enable USB charging in time.')
|
| self.RunShellCommand(disable_command)
|
| if self.IsDeviceCharging():
|
| break
|
|
|