mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
// Copyright 2014 The Flutter 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 '../base/context.dart';
|
|
import '../base/platform.dart';
|
|
import '../doctor_validator.dart';
|
|
import '../features.dart';
|
|
import 'fuchsia_sdk.dart';
|
|
|
|
/// The [FuchsiaWorkflow] instance.
|
|
FuchsiaWorkflow? get fuchsiaWorkflow => context.get<FuchsiaWorkflow>();
|
|
|
|
/// The Fuchsia-specific implementation of a [Workflow].
|
|
///
|
|
/// This workflow assumes development within the fuchsia source tree,
|
|
/// including a working fx command-line tool in the user's PATH.
|
|
class FuchsiaWorkflow implements Workflow {
|
|
FuchsiaWorkflow({
|
|
required Platform platform,
|
|
required FeatureFlags featureFlags,
|
|
required FuchsiaArtifacts fuchsiaArtifacts,
|
|
}) : _platform = platform,
|
|
_featureFlags = featureFlags,
|
|
_fuchsiaArtifacts = fuchsiaArtifacts;
|
|
|
|
final Platform _platform;
|
|
final FeatureFlags _featureFlags;
|
|
final FuchsiaArtifacts _fuchsiaArtifacts;
|
|
|
|
@override
|
|
bool get appliesToHostPlatform => _featureFlags.isFuchsiaEnabled && (_platform.isLinux || _platform.isMacOS);
|
|
|
|
@override
|
|
bool get canListDevices {
|
|
return _fuchsiaArtifacts.ffx != null;
|
|
}
|
|
|
|
@override
|
|
bool get canLaunchDevices {
|
|
return _fuchsiaArtifacts.ffx != null && _fuchsiaArtifacts.sshConfig != null;
|
|
}
|
|
|
|
@override
|
|
bool get canListEmulators => false;
|
|
}
|