diff --git a/flutter-idea/src/io/flutter/run/daemon/DeviceService.java b/flutter-idea/src/io/flutter/run/daemon/DeviceService.java index ee0ae8bca..10eb5c07d 100644 --- a/flutter-idea/src/io/flutter/run/daemon/DeviceService.java +++ b/flutter-idea/src/io/flutter/run/daemon/DeviceService.java @@ -154,7 +154,11 @@ private synchronized void refreshDeviceSelection() { deviceSelection.updateAndGet((old) -> { final DeviceDaemon daemon = deviceDaemon.getNow(); final List newDevices = daemon == null ? ImmutableList.of() : daemon.getDevices(); - return old.withDevices(newDevices); + FlutterDevice oldSelection = old.getSelection(); + String selection = oldSelection != null + ? oldSelection.deviceId() + : newDevices.isEmpty() ? null : newDevices.getFirst().deviceId(); + return old.withDevices(newDevices).withSelection(selection); }); fireChangeEvent(); }