Skip to content

Commit

Permalink
fix flutter not finding custom device (#108884)
Browse files Browse the repository at this point in the history
  • Loading branch information
ardera authored Aug 3, 2022
1 parent 1a4dcd6 commit c6aeaa3
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
8 changes: 8 additions & 0 deletions packages/flutter_tools/lib/src/doctor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import 'base/terminal.dart';
import 'base/user_messages.dart';
import 'base/utils.dart';
import 'cache.dart';
import 'custom_devices/custom_device_workflow.dart';
import 'device.dart';
import 'doctor_validator.dart';
import 'features.dart';
Expand Down Expand Up @@ -93,6 +94,10 @@ class _DefaultDoctorValidatorsProvider implements DoctorValidatorsProvider {
featureFlags: featureFlags,
);

late final CustomDeviceWorkflow customDeviceWorkflow = CustomDeviceWorkflow(
featureFlags: featureFlags,
);

@override
List<DoctorValidator> get validators {
if (_validators != null) {
Expand Down Expand Up @@ -200,6 +205,9 @@ class _DefaultDoctorValidatorsProvider implements DoctorValidatorsProvider {
_workflows!.add(webWorkflow);
}

if (customDeviceWorkflow.appliesToHostPlatform) {
_workflows!.add(customDeviceWorkflow);
}
}
return _workflows!;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import 'package:flutter_tools/src/base/user_messages.dart';
import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/commands/doctor.dart';
import 'package:flutter_tools/src/custom_devices/custom_device_workflow.dart';
import 'package:flutter_tools/src/device.dart';
import 'package:flutter_tools/src/doctor.dart';
import 'package:flutter_tools/src/doctor_validator.dart';
Expand Down Expand Up @@ -750,6 +751,20 @@ void main() {
ProcessManager: () => fakeProcessManager,
});

testUsingContext('CustomDevicesWorkflow is a part of validator workflows if enabled', () async {
final List<Workflow> workflows = DoctorValidatorsProvider.test(
featureFlags: TestFeatureFlags(areCustomDevicesEnabled: true),
platform: FakePlatform(),
).workflows;
expect(
workflows,
contains(isA<CustomDeviceWorkflow>()),
);
}, overrides: <Type, Generator>{
FileSystem: () => MemoryFileSystem.test(),
ProcessManager: () => fakeProcessManager,
});

testUsingContext('Fetches tags to get the right version', () async {
Cache.disableLocking();

Expand Down

0 comments on commit c6aeaa3

Please sign in to comment.