// Copyright 2016 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 '../doctor.dart'; import '../globals.dart'; import 'android_sdk.dart'; class AndroidWorkflow extends Workflow { String get label => 'Android toolchain'; bool get appliesToHostPlatform => true; bool get canListDevices => getAdbPath(androidSdk) != null; bool get canLaunchDevices => androidSdk != null && androidSdk.validateSdkWellFormed(complain: false); ValidationResult validate() { Validator androidValidator = new Validator( label, description: 'develop for Android devices' ); ValidationType sdkExists() { return androidSdk == null ? ValidationType.missing : ValidationType.installed; }; androidValidator.addValidator(new Validator( 'Android Studio / Android SDK', description: 'enable development for Android devices', resolution: 'Download from https://developer.android.com/sdk/ (or visit ' 'https://flutter.io/setup/#android-setup for detailed instructions)', validatorFunction: sdkExists )); return androidValidator.validate(); } void diagnose() => validate().print(); }