aboutsummaryrefslogtreecommitdiff
path: root/devlib/target.py
diff options
context:
space:
mode:
authorsetrofim <setrofim@gmail.com>2017-07-12 13:20:53 +0100
committerGitHub <noreply@github.com>2017-07-12 13:20:53 +0100
commitb933dbda67769c7a036f25f284fc464299f2ce8d (patch)
treed9016668fa6aac24be68fee7e07d746509f7e4e3 /devlib/target.py
parentb062097221591df9425878005002741e6ce22e5b (diff)
parent0c7eb9e91e46fd551d9986afebe10670b1f160aa (diff)
downloaddevlib-b933dbda67769c7a036f25f284fc464299f2ce8d.tar.gz
Merge pull request #146 from derkling/adb_addons
Add a couple of ADB related utility functions
Diffstat (limited to 'devlib/target.py')
-rw-r--r--devlib/target.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/devlib/target.py b/devlib/target.py
index 65d5600..a920655 100644
--- a/devlib/target.py
+++ b/devlib/target.py
@@ -909,8 +909,16 @@ class AndroidTarget(Target):
pass
self._connected_as_root = None
- def connect(self, timeout=10, check_boot_completed=True): # pylint: disable=arguments-differ
+ def wait_boot_complete(self, timeout=10):
start = time.time()
+ boot_completed = boolean(self.getprop('sys.boot_completed'))
+ while not boot_completed and timeout >= time.time() - start:
+ time.sleep(5)
+ boot_completed = boolean(self.getprop('sys.boot_completed'))
+ if not boot_completed:
+ raise TargetError('Connected but Android did not fully boot.')
+
+ def connect(self, timeout=10, check_boot_completed=True): # pylint: disable=arguments-differ
device = self.connection_settings.get('device')
if device and ':' in device:
# ADB does not automatically remove a network device from it's
@@ -922,12 +930,7 @@ class AndroidTarget(Target):
super(AndroidTarget, self).connect(timeout=timeout)
if check_boot_completed:
- boot_completed = boolean(self.getprop('sys.boot_completed'))
- while not boot_completed and timeout >= time.time() - start:
- time.sleep(5)
- boot_completed = boolean(self.getprop('sys.boot_completed'))
- if not boot_completed:
- raise TargetError('Connected but Android did not fully boot.')
+ self.wait_boot_complete(timeout)
def setup(self, executables=None):
super(AndroidTarget, self).setup(executables)
@@ -1120,6 +1123,12 @@ class AndroidTarget(Target):
def clear_logcat(self):
adb_command(self.adb_name, 'logcat -c', timeout=30)
+ def adb_kill_server(self, timeout=30):
+ adb_command(self.adb_name, 'kill-server', timeout)
+
+ def adb_wait_for_device(self, timeout=30):
+ adb_command(self.adb_name, 'wait-for-device', timeout)
+
def adb_reboot_bootloader(self, timeout=30):
adb_command(self.adb_name, 'reboot-bootloader', timeout)