blob: 11421ce74f6d4f9ebafb5fd0052fb727f9e89763 [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
jbudorickbfffb22e2015-04-16 14:10:0215from pylib.device import adb_wrapper
16from pylib.device import device_filter
[email protected]044d79b2014-04-10 19:37:3017from pylib.device import device_utils
[email protected]12f36c82013-03-29 06:21:1318
19PULSE_PERIOD = 20
20
21def main():
22 while True:
23 try:
jbudorickbfffb22e2015-04-16 14:10:0224 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]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())