blob: f22c2d7e8e0fda9020e954c4bf506c5143d63d05 [file] [log] [blame]
Peter Wenb51e4542021-06-30 17:42:571#!/usr/bin/env vpython3
[email protected]12f36c82013-03-29 06:21:132#
Avi Drissman73a09d12022-09-08 20:33:383# Copyright 2013 The Chromium Authors
[email protected]12f36c82013-03-29 06:21:134# 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:
John Budorick8b57e602020-09-01 16:57:5025 devices = device_utils.DeviceUtils.HealthyDevices(denylist=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())