[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 | d28554a | 2016-01-11 16:22:59 | [diff] [blame] | 15 | import devil_chromium |
jbudorick | 06162944 | 2015-09-03 18:00:57 | [diff] [blame] | 16 | from devil.android import device_utils |
[email protected] | 12f36c8 | 2013-03-29 06:21:13 | [diff] [blame] | 17 | |
18 | PULSE_PERIOD = 20 | ||||
19 | |||||
20 | def main(): | ||||
jbudorick | d28554a | 2016-01-11 16:22:59 | [diff] [blame] | 21 | devil_chromium.Initialize() |
22 | |||||
[email protected] | 12f36c8 | 2013-03-29 06:21:13 | [diff] [blame] | 23 | while True: |
24 | try: | ||||
jbudorick | dde688fb | 2015-08-27 03:00:17 | [diff] [blame] | 25 | devices = device_utils.DeviceUtils.HealthyDevices(blacklist=None) |
jbudorick | bfffb22e | 2015-04-16 14:10:02 | [diff] [blame] | 26 | for d in devices: |
jbudorick | 119e457 | 2015-04-24 17:20:03 | [diff] [blame] | 27 | d.RunShellCommand(['touch', '/sdcard/host_heartbeat'], |
28 | 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()) |