Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/arduino/Arduino.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@arduino.cc>2020-03-23 19:31:12 +0300
committerCristian Maglie <c.maglie@bug.st>2020-03-23 20:37:59 +0300
commit8208376507a787b19b716610108df5d2aeac29b0 (patch)
tree5c585981818ff2a6d6b21998b7b2bd19a3efb88f /arduino-core
parentbb629d1ba026ab76e1521357cd1f1a148f5e5585 (diff)
SerialDiscovery: refactor search loop
Diffstat (limited to 'arduino-core')
-rw-r--r--arduino-core/src/cc/arduino/packages/discoverers/serial/SerialDiscovery.java23
1 files changed, 7 insertions, 16 deletions
diff --git a/arduino-core/src/cc/arduino/packages/discoverers/serial/SerialDiscovery.java b/arduino-core/src/cc/arduino/packages/discoverers/serial/SerialDiscovery.java
index 3eade2aa0..d1be2b390 100644
--- a/arduino-core/src/cc/arduino/packages/discoverers/serial/SerialDiscovery.java
+++ b/arduino-core/src/cc/arduino/packages/discoverers/serial/SerialDiscovery.java
@@ -148,29 +148,20 @@ public class SerialDiscovery implements Discovery, Runnable {
Map<String, Object> boardData = platform.resolveDeviceByVendorIdProductId(port, BaseNoGui.packages);
- BoardPort boardPort = null;
- int i = 0;
-
- // create new board if in ports but not in boardPorts
- for (BoardPort board : boardPorts) {
- if (board.toCompleteString().equalsIgnoreCase(newPort)) {
- boardPort = boardPorts.get(i);
- boardPorts.get(i).setOnlineStatus(true);
- break;
- }
- i++;
- }
-
- if (boardPort != null) {
+ // if port has been already discovered bring it back online
+ BoardPort oldBoardPort = boardPorts.stream() //
+ .filter(bp -> bp.toCompleteString().equalsIgnoreCase(newPort)) //
+ .findAny().orElse(null);
+ if (oldBoardPort != null) {
+ oldBoardPort.setOnlineStatus(true);
continue;
}
- boardPort = new BoardPort();
+ BoardPort boardPort = new BoardPort();
boardPorts.add(boardPort);
boardPort.setAddress(port);
boardPort.setProtocol("serial");
boardPort.setOnlineStatus(true);
-
boardPort.setLabel(port);
if (boardData != null) {