|  | #!/usr/bin/env python | 
|  | # | 
|  | # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | """Sends a heart beat pulse to the currently online Android devices. | 
|  | This heart beat lets the devices know that they are connected to a host. | 
|  | """ | 
|  | # pylint: disable=W0702 | 
|  |  | 
|  | import sys | 
|  | import time | 
|  |  | 
|  | import devil_chromium | 
|  | from devil.android import device_utils | 
|  |  | 
|  | PULSE_PERIOD = 20 | 
|  |  | 
|  | def main(): | 
|  | devil_chromium.Initialize() | 
|  |  | 
|  | while True: | 
|  | try: | 
|  | devices = device_utils.DeviceUtils.HealthyDevices(blacklist=None) | 
|  | for d in devices: | 
|  | d.RunShellCommand(['touch', '/sdcard/host_heartbeat'], | 
|  | check_return=True) | 
|  | except: | 
|  | # Keep the heatbeat running bypassing all errors. | 
|  | pass | 
|  | time.sleep(PULSE_PERIOD) | 
|  |  | 
|  |  | 
|  | if __name__ == '__main__': | 
|  | sys.exit(main()) |