From 53ea61942bf6b37dcecdbb7fa7f3e71d266c0c78 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Thu, 14 Jan 2016 15:10:41 -0800 Subject: [PATCH] Invoke Device::startApp on the specific device --- .../flutter_tools/lib/src/commands/start.dart | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/packages/flutter_tools/lib/src/commands/start.dart b/packages/flutter_tools/lib/src/commands/start.dart index 132bdf6b68e..61acc6674c2 100644 --- a/packages/flutter_tools/lib/src/commands/start.dart +++ b/packages/flutter_tools/lib/src/commands/start.dart @@ -9,6 +9,7 @@ import 'package:path/path.dart' as path; import '../application_package.dart'; import '../base/logging.dart'; +import '../build_configuration.dart'; import '../device.dart'; import '../runner/flutter_command.dart'; import 'build.dart'; @@ -84,22 +85,31 @@ abstract class StartCommandBase extends FlutterCommand { continue; logging.fine('Running build command for $device.'); - BuildCommand builder = new BuildCommand(); - builder.inheritFromParent(this); - await builder.buildInTempDir( - mainPath: mainPath, - onBundleAvailable: (String localBundlePath) { - logging.fine('Starting bundle for $device.'); - final AndroidDevice androidDevice = device; // https://github.com/flutter/flutter/issues/1035 - if (androidDevice.startBundle(package, localBundlePath, - poke: poke, - checked: argResults['checked'], - traceStartup: argResults['trace-startup'], - route: argResults['route'], - clearLogs: clearLogs)) - startedSomething = true; + + if (device.platform == TargetPlatform.android) { + BuildCommand builder = new BuildCommand(); + builder.inheritFromParent(this); + await builder.buildInTempDir( + mainPath: mainPath, + onBundleAvailable: (String localBundlePath) { + logging.fine('Starting bundle for $device.'); + final AndroidDevice androidDevice = device; // https://github.com/flutter/flutter/issues/1035 + if (androidDevice.startBundle(package, localBundlePath, + poke: poke, + checked: argResults['checked'], + traceStartup: argResults['trace-startup'], + route: argResults['route'], + clearLogs: clearLogs)) + startedSomething = true; + } + ); + } else { + bool result = await device.startApp(package); + if (!result) { + logging.severe('Could not start \'${package.name}\' on \'${device.id}\''); + continue; } - ); + } } if (!startedSomething) {