[email protected] | 12f36c8 | 2013-03-29 06:21:13 | [diff] [blame] | 1 | #!/usr/bin/env python |
2 | # | ||||
3 | # Copyright (c) 2013 The Chromium Authors. All rights reserved. | ||||
4 | # Use of this source code is governed by a BSD-style license that can be | ||||
5 | # found in the LICENSE file. | ||||
6 | |||||
7 | """Sends a heart beat pulse to the currently online Android devices. | ||||
8 | This heart beat lets the devices know that they are connected to a host. | ||||
9 | """ | ||||
[email protected] | 7c53a60 | 2014-03-24 16:21:44 | [diff] [blame] | 10 | # pylint: disable=W0702 |
[email protected] | 12f36c8 | 2013-03-29 06:21:13 | [diff] [blame] | 11 | |
[email protected] | 12f36c8 | 2013-03-29 06:21:13 | [diff] [blame] | 12 | import sys |
13 | import time | ||||
14 | |||||
jbudorick | bfffb22e | 2015-04-16 14:10:02 | [diff] [blame^] | 15 | from pylib.device import adb_wrapper |
16 | from pylib.device import device_filter | ||||
[email protected] | 044d79b | 2014-04-10 19:37:30 | [diff] [blame] | 17 | from pylib.device import device_utils |
[email protected] | 12f36c8 | 2013-03-29 06:21:13 | [diff] [blame] | 18 | |
19 | PULSE_PERIOD = 20 | ||||
20 | |||||
21 | def main(): | ||||
22 | while True: | ||||
23 | try: | ||||
jbudorick | bfffb22e | 2015-04-16 14:10:02 | [diff] [blame^] | 24 | devices = adb_wrapper.AdbWrapper.Devices( |
25 | filters=device_filter.DefaultFilters()) | ||||
26 | for d in devices: | ||||
27 | device_utils.DeviceUtils(d).RunShellCommand( | ||||
28 | ['touch', '/sdcard/host_heartbeat'], check_return=True) | ||||
[email protected] | 12f36c8 | 2013-03-29 06:21:13 | [diff] [blame] | 29 | except: |
30 | # Keep the heatbeat running bypassing all errors. | ||||
31 | pass | ||||
32 | time.sleep(PULSE_PERIOD) | ||||
33 | |||||
34 | |||||
35 | if __name__ == '__main__': | ||||
36 | sys.exit(main()) |