diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart index 2c682092d48..fdbc25d0232 100644 --- a/packages/flutter_tools/lib/src/doctor.dart +++ b/packages/flutter_tools/lib/src/doctor.dart @@ -74,7 +74,8 @@ class _DefaultDoctorValidatorsProvider implements DoctorValidatorsProvider { } final List ideValidators = [ - ...AndroidStudioValidator.allValidators(globals.config, globals.platform, globals.fs, globals.userMessages), + if (androidWorkflow.appliesToHostPlatform) + ...AndroidStudioValidator.allValidators(globals.config, globals.platform, globals.fs, globals.userMessages), ...IntelliJValidator.installedValidators( fileSystem: globals.fs, platform: globals.platform, diff --git a/packages/flutter_tools/test/commands.shard/hermetic/doctor_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/doctor_test.dart index 78eb50b7094..5d9a552b8c0 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/doctor_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/doctor_test.dart @@ -6,6 +6,7 @@ import 'dart:async'; import 'package:args/command_runner.dart'; import 'package:file/memory.dart'; +import 'package:flutter_tools/src/android/android_studio_validator.dart'; import 'package:flutter_tools/src/base/common.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; @@ -673,6 +674,13 @@ void main() { FlutterVersion: () => mockFlutterVersion, Doctor: () => NoOpDoctor(), }, initializeFlutterRoot: false); + + testUsingContext('If android workflow is disabled, AndroidStudio validator is not included', () { + expect(DoctorValidatorsProvider.defaultInstance.validators, isNot(contains(isA()))); + expect(DoctorValidatorsProvider.defaultInstance.validators, isNot(contains(isA()))); + }, overrides: { + FeatureFlags: () => TestFeatureFlags(isAndroidEnabled: false), + }); } class NoOpDoctor implements Doctor {