watchDevices method
Fires whenever devices may have appeared, disappeared or changed state, so callers re-read getSimulators / getPhysicalDevices instead of polling. Each listen starts the platform watchers and cancelling stops them. Events come in bursts: debounce before reloading. Empty when the platform cannot be watched.
Implementation
@override
Stream<void> watchDevices() => _changes.stream;