xref: /aosp_15_r20/external/angle/build/android/host_heartbeat.py (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#!/usr/bin/env vpython3
2#
3# Copyright 2013 The Chromium Authors
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"""
10# pylint: disable=W0702
11
12import sys
13import time
14
15import devil_chromium
16from devil.android import device_utils
17
18PULSE_PERIOD = 20
19
20def main():
21  devil_chromium.Initialize()
22
23  while True:
24    try:
25      devices = device_utils.DeviceUtils.HealthyDevices(denylist=None)
26      for d in devices:
27        d.RunShellCommand(['touch', '/sdcard/host_heartbeat'],
28                          check_return=True)
29    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())
37