Index: tools/telemetry/telemetry/core/platform/android_device.py |
diff --git a/tools/telemetry/telemetry/core/platform/android_device.py b/tools/telemetry/telemetry/core/platform/android_device.py |
index 73fad60e9f523f79e9377194377efc4c1099231e..82cc7c4cadba163ea43597a65ba79812e40b52bc 100644 |
--- a/tools/telemetry/telemetry/core/platform/android_device.py |
+++ b/tools/telemetry/telemetry/core/platform/android_device.py |
@@ -67,28 +67,39 @@ Waiting for device... |
return self._enable_performance_mode |
-def GetDevice(finder_options): |
- """Return a Platform instance for the device specified by |finder_options|.""" |
+def GetAllDevices(): |
+ """Return all available Device instances.""" |
if not CanDiscoverDevices(): |
logging.info( |
'No adb command found. Will not try searching for Android browsers.') |
return None |
- if finder_options.android_device: |
- return AndroidDevice( |
- finder_options.android_device, |
- enable_performance_mode=not finder_options.no_performance_mode) |
- |
devices = AndroidDevice.GetAllConnectedDevices() |
if len(devices) == 0: |
logging.info('No android devices found.') |
return None |
- if len(devices) > 1: |
- logging.warn( |
+ return devices |
+ |
+ |
+def GetDevice(finder_options): |
+ """Return a Device instance for the device specified by |finder_options|.""" |
+ devices = GetAllDevices() |
+ if devices is None: |
+ return None |
+ |
+ if finder_options.device is None: |
+ if len(devices) == 1: |
+ return devices[0] |
+ if len(devices) > 1: |
+ logging.warn( |
'Multiple devices attached. Please specify one of the following:\n' + |
'\n'.join([' --device=%s' % d.device_id for d in devices])) |
- return None |
- return devices[0] |
+ return None |
+ |
+ if finder_options.device and finder_options.device != 'list': |
+ return [AndroidDevice( |
+ finder_options.device, |
+ enable_performance_mode=not finder_options.no_performance_mode)] |
def CanDiscoverDevices(): |