Index: tools/telemetry/telemetry/core/backends/chrome/android_browser_finder.py |
diff --git a/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder.py b/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder.py |
index f0a5ae53e4fac7ee0ed366b63671f7474d5ecd84..7c23ea4881b3aa646a43a7e97444dcdd228305ac 100644 |
--- a/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder.py |
+++ b/tools/telemetry/telemetry/core/backends/chrome/android_browser_finder.py |
@@ -18,6 +18,7 @@ from telemetry.core import util |
from telemetry.core.backends import adb_commands |
from telemetry.core.backends.chrome import android_browser_backend |
from telemetry.core.platform import android_platform_backend |
+from telemetry.core.platform.profiler import monsoon |
CHROME_PACKAGE_NAMES = { |
@@ -176,6 +177,7 @@ def CanFindAvailableBrowsers(logging=real_logging): |
adb_works = False |
return adb_works |
+ |
def FindAllAvailableBrowsers(finder_options, logging=real_logging): |
"""Finds all the desktop browsers available on this machine.""" |
if not CanFindAvailableBrowsers(logging=logging): |
@@ -183,15 +185,38 @@ def FindAllAvailableBrowsers(finder_options, logging=real_logging): |
'Will not try searching for Android browsers.') |
return [] |
- device = None |
- if finder_options.android_device: |
- devices = [finder_options.android_device] |
- else: |
- devices = adb_commands.GetAttachedDevices() |
+ def _GetDevices(): |
+ if finder_options.android_device: |
+ return [finder_options.android_device] |
+ else: |
+ return adb_commands.GetAttachedDevices() |
- if len(devices) == 0: |
- logging.info('No android devices found.') |
- return [] |
+ devices = _GetDevices() |
+ |
+ if not devices: |
+ try: |
+ m = monsoon.Monsoon(wait=False) |
+ m.SetUsbPassthrough(1) |
+ m.SetVoltage(3.8) |
qsr
2014/07/23 08:27:40
We are using 4V in the profiler. Any reason not to
|
+ m.SetMaxCurrent(8) |
+ logging.warn(""" |
+Monsoon power monitor detected, but no Android devices. |
+ |
+The Monsoon's power output has been enabled. Please now ensure that: |
+ |
+ 1. The Monsoon's front and back USB are connected to the host. |
+ 2. The Device is connected to the Monsoon's main and USB channels. |
+ 3. The Device is turned on. |
+ |
+Waiting for device... |
+""") |
+ util.WaitFor(_GetDevices, 600) |
+ devices = _GetDevices() |
+ if not devices: |
+ raise IOError() |
+ except IOError: |
+ logging.info('No android devices found.') |
+ return [] |
if len(devices) > 1: |
logging.warn( |