Support route (#4470)

* support --route in flutter run --resident

* also for the daemon app.start command
This commit is contained in:
Devon Carew 2016-06-08 13:44:54 -07:00
parent 3e0e6b9997
commit fcd68c8a21
3 changed files with 15 additions and 8 deletions

View File

@ -285,8 +285,7 @@ class AppDomain extends Domain {
String deviceId = _getStringArg(args, 'deviceId', required: true);
String projectDirectory = _getStringArg(args, 'projectDirectory', required: true);
bool startPaused = _getBoolArg(args, 'startPaused');
// TODO(devoncarew): Use the route param.
String route = _getStringArg(args, 'route'); // ignore: unused_local_variable
String route = _getStringArg(args, 'route');
String mode = _getStringArg(args, 'mode');
String target = _getStringArg(args, 'target');
@ -340,7 +339,7 @@ class AppDomain extends Domain {
}
app._runInZone(this, () {
runner.run(observatoryPortCompleter: observatoryPortCompleter).then((_) {
runner.run(observatoryPortCompleter: observatoryPortCompleter, route: route).then((_) {
_sendAppEvent(app, 'stop');
}).catchError((dynamic error) {
_sendAppEvent(app, 'stop', <String, dynamic>{ 'error' : error.toString() });

View File

@ -116,7 +116,11 @@ class RunCommand extends RunCommandBase {
debuggingOptions: options
);
return runner.run(traceStartup: traceStartup, benchmark: argResults['benchmark']);
return runner.run(
traceStartup: traceStartup,
benchmark: argResults['benchmark'],
route: route
);
} else {
// TODO(devoncarew): Remove this path and support the `--no-resident` option
// using the `RunAndStayResident` class.

View File

@ -56,14 +56,16 @@ class RunAndStayResident {
Future<int> run({
bool traceStartup: false,
bool benchmark: false,
Completer<int> observatoryPortCompleter
Completer<int> observatoryPortCompleter,
String route
}) {
// Don't let uncaught errors kill the process.
return runZoned(() {
return _run(
traceStartup: traceStartup,
benchmark: benchmark,
observatoryPortCompleter: observatoryPortCompleter
observatoryPortCompleter: observatoryPortCompleter,
route: route
);
}, onError: (dynamic error, StackTrace stackTrace) {
printError('Exception from flutter run: $error', stackTrace);
@ -107,7 +109,8 @@ class RunAndStayResident {
Future<int> _run({
bool traceStartup: false,
bool benchmark: false,
Completer<int> observatoryPortCompleter
Completer<int> observatoryPortCompleter,
String route
}) async {
_mainPath = findMainDartFile(target);
if (!FileSystemEntity.isFileSync(_mainPath)) {
@ -178,7 +181,8 @@ class RunAndStayResident {
debuggingOptions.buildMode,
mainPath: _mainPath,
debuggingOptions: debuggingOptions,
platformArgs: platformArgs
platformArgs: platformArgs,
route: route
);
if (!_result.started) {