// Copyright 2015 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. import 'dart:async'; import '../base/utils.dart'; import '../device.dart'; import '../globals.dart'; import '../runner/flutter_command.dart'; class DevicesCommand extends FlutterCommand { final String name = 'devices'; final String description = 'List all connected devices.'; final List aliases = ['list']; bool get requiresProjectRoot => false; Future runInProject() async { if (!doctor.canListAnything) { printError("Unable to locate a development device; please run 'flutter doctor' for " "information about installing additional components."); return 1; } List devices = await deviceManager.getAllConnectedDevices(); if (devices.isEmpty) { printStatus('No connected devices.'); } else { printStatus('${devices.length} connected ${pluralize('device', devices.length)}:\n'); for (Device device in devices) printStatus(device.fullDescription); } return 0; } }