blob: 89905928ec8b270c2ccf45799dd6c6069ca61e57 [file] [log] [blame]
[email protected]12f36c82013-03-29 06:21:131#!/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.
8This heart beat lets the devices know that they are connected to a host.
9"""
[email protected]7c53a602014-03-24 16:21:4410# pylint: disable=W0702
[email protected]12f36c82013-03-29 06:21:1311
[email protected]12f36c82013-03-29 06:21:1312import sys
13import time
14
jbudorickd28554a2016-01-11 16:22:5915import devil_chromium
jbudorick061629442015-09-03 18:00:5716from devil.android import device_utils
[email protected]12f36c82013-03-29 06:21:1317
18PULSE_PERIOD = 20
19
20def main():
jbudorickd28554a2016-01-11 16:22:5921 devil_chromium.Initialize()
22
[email protected]12f36c82013-03-29 06:21:1323 while True:
24 try:
jbudorickdde688fb2015-08-27 03:00:1725 devices = device_utils.DeviceUtils.HealthyDevices(blacklist=None)
jbudorickbfffb22e2015-04-16 14:10:0226 for d in devices:
jbudorick119e4572015-04-24 17:20:0327 d.RunShellCommand(['touch', '/sdcard/host_heartbeat'],
28 check_return=True)
[email protected]12f36c82013-03-29 06:21:1329 except:
30 # Keep the heatbeat running bypassing all errors.
31 pass
32 time.sleep(PULSE_PERIOD)
33
34
35if __name__ == '__main__':
36 sys.exit(main())