50 lines
1.1 KiB
Dart
50 lines
1.1 KiB
Dart
// 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.
|
|
|
|
library sky_tools.install;
|
|
|
|
import 'dart:async';
|
|
|
|
import 'package:args/args.dart';
|
|
|
|
import 'common.dart';
|
|
import 'device.dart';
|
|
|
|
class InstallCommandHandler extends CommandHandler {
|
|
AndroidDevice android = null;
|
|
InstallCommandHandler([this.android])
|
|
: super('install', 'Install your Sky app on attached devices.');
|
|
|
|
@override
|
|
ArgParser get parser {
|
|
ArgParser parser = new ArgParser();
|
|
parser.addFlag('help',
|
|
abbr: 'h', negatable: false, help: 'Display this help message.');
|
|
return parser;
|
|
}
|
|
|
|
@override
|
|
Future<int> processArgResults(ArgResults results) async {
|
|
if (results['help']) {
|
|
printUsage();
|
|
return 0;
|
|
}
|
|
|
|
bool installedSomewhere = false;
|
|
|
|
if (android == null) {
|
|
android = new AndroidDevice();
|
|
}
|
|
if (android.isConnected()) {
|
|
installedSomewhere = installedSomewhere || android.installApp('', '', '');
|
|
}
|
|
|
|
if (installedSomewhere) {
|
|
return 0;
|
|
} else {
|
|
return 2;
|
|
}
|
|
}
|
|
}
|