Use DeviceManager instead of device to determine if device supports project (#36213)

diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart
index 5865744..936bf15 100644
--- a/packages/flutter_tools/lib/src/device.dart
+++ b/packages/flutter_tools/lib/src/device.dart
@@ -202,7 +202,7 @@
     if (devices.length > 1 && !hasSpecifiedDeviceId) {
       devices = <Device>[
         for (Device device in devices)
-          if (device.isSupportedForProject(flutterProject))
+          if (isDeviceSupportedForProject(device, flutterProject))
             device
       ];
     }
@@ -224,6 +224,8 @@
   }
 
   /// Returns whether the device is supported for the project.
+  ///
+  /// This exists to allow the check to be overriden for google3 clients.
   bool isDeviceSupportedForProject(Device device, FlutterProject flutterProject) {
     return device.isSupportedForProject(flutterProject);
   }
diff --git a/packages/flutter_tools/test/general.shard/device_test.dart b/packages/flutter_tools/test/general.shard/device_test.dart
index e63b01c..0e41b14 100644
--- a/packages/flutter_tools/test/general.shard/device_test.dart
+++ b/packages/flutter_tools/test/general.shard/device_test.dart
@@ -116,6 +116,20 @@
         nonEphemeralTwo,
       ]);
     });
+
+    testUsingContext('uses DeviceManager.isDeviceSupportedForProject instead of device.isSupportedForProject', () async {
+      final List<Device> devices = <Device>[
+        unsupported,
+      ];
+      final TestDeviceManager deviceManager = TestDeviceManager(devices);
+      deviceManager.isAlwaysSupportedOverride = true;
+
+      final List<Device> filtered = await deviceManager.findTargetDevices(FlutterProject.current());
+
+      expect(filtered, <Device>[
+        unsupported,
+      ]);
+    });
   });
 }
 
@@ -123,11 +137,20 @@
   TestDeviceManager(this.allDevices);
 
   final List<Device> allDevices;
+  bool isAlwaysSupportedOverride;
 
   @override
   Stream<Device> getAllConnectedDevices() {
     return Stream<Device>.fromIterable(allDevices);
   }
+
+  @override
+  bool isDeviceSupportedForProject(Device device, FlutterProject flutterProject) {
+    if (isAlwaysSupportedOverride != null) {
+      return isAlwaysSupportedOverride;
+    }
+    return super.isDeviceSupportedForProject(device, flutterProject);
+  }
 }
 
 class _MockDevice extends Device {