diff --git a/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java b/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java index 93bfb1df1e..cbbe0fc897 100644 --- a/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java +++ b/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java @@ -48,7 +48,12 @@ public class PortDetector { CountDownLatch portFound = new CountDownLatch(1); AtomicReference result = new AtomicReference<>(); for (String serialPort : serialPorts) { - Thread thread = AUTO_DETECT_PORT.newThread(new SerialAutoChecker(serialPort, portFound, result, callback)); + Thread thread = AUTO_DETECT_PORT.newThread(new Runnable() { + @Override + public void run() { + new SerialAutoChecker(serialPort, portFound).run(result, callback); + } + }); serialFinder.add(thread); thread.start(); } diff --git a/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java b/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java index c28f2f7688..645958ca1e 100644 --- a/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java +++ b/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java @@ -6,7 +6,6 @@ import com.rusefi.config.generated.Fields; import com.rusefi.io.IoStream; import com.rusefi.io.commands.HelloCommand; import com.rusefi.io.serial.SerialIoStreamJSerialComm; -import org.jetbrains.annotations.Nullable; import java.io.IOException; import java.util.concurrent.CountDownLatch; @@ -15,23 +14,17 @@ import java.util.function.Function; import static com.rusefi.binaryprotocol.IoHelper.checkResponseCode; -public class SerialAutoChecker implements Runnable { +public class SerialAutoChecker { private final static Logging log = Logging.getLogging(SerialAutoChecker.class); private final String serialPort; private final CountDownLatch portFound; - private final AtomicReference result; - @Nullable - private final Function callback; - public SerialAutoChecker(String serialPort, CountDownLatch portFound, AtomicReference result, Function callback) { + public SerialAutoChecker(String serialPort, CountDownLatch portFound) { this.serialPort = serialPort; this.portFound = portFound; - this.result = result; - this.callback = callback; } - @Override - public void run() { + public void run(AtomicReference result, Function callback) { IoStream stream = SerialIoStreamJSerialComm.openPort(serialPort); IncomingDataBuffer incomingData = stream.getDataBuffer(); boolean isPortFound = false;