[flutter_tools] do not include AS validator if android is not enabled (#69047)
diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart
index 2c68209..fdbc25d 100644
--- a/packages/flutter_tools/lib/src/doctor.dart
+++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -74,7 +74,8 @@
}
final List<DoctorValidator> ideValidators = <DoctorValidator>[
- ...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 78eb50b..5d9a552 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 '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 @@
FlutterVersion: () => mockFlutterVersion,
Doctor: () => NoOpDoctor(),
}, initializeFlutterRoot: false);
+
+ testUsingContext('If android workflow is disabled, AndroidStudio validator is not included', () {
+ expect(DoctorValidatorsProvider.defaultInstance.validators, isNot(contains(isA<AndroidStudioValidator>())));
+ expect(DoctorValidatorsProvider.defaultInstance.validators, isNot(contains(isA<NoAndroidStudioValidator>())));
+ }, overrides: <Type, Generator>{
+ FeatureFlags: () => TestFeatureFlags(isAndroidEnabled: false),
+ });
}
class NoOpDoctor implements Doctor {