Skip to content

Commit f85f68a

Browse files
committed
Merged SerialDiscovery and SerialBoardLister
They perform basically the same task, SerialDiscovery just used to proxy the calls to SerialBoardLister
1 parent 12c13f3 commit f85f68a

File tree

3 files changed

+70
-124
lines changed

3 files changed

+70
-124
lines changed

arduino-core/src/cc/arduino/packages/DiscoveryManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
import java.util.Map;
3838

3939
import cc.arduino.packages.discoverers.PluggableDiscovery;
40+
import cc.arduino.packages.discoverers.serial.SerialDiscovery;
4041
import cc.arduino.packages.discoverers.NetworkDiscovery;
41-
import cc.arduino.packages.discoverers.SerialDiscovery;
4242
import processing.app.debug.TargetPackage;
4343
import processing.app.debug.TargetPlatform;
4444
import processing.app.helpers.PreferencesMap;

arduino-core/src/cc/arduino/packages/discoverers/SerialDiscovery.java

Lines changed: 0 additions & 103 deletions
This file was deleted.

arduino-core/src/cc/arduino/packages/discoverers/serial/SerialBoardsLister.java renamed to arduino-core/src/cc/arduino/packages/discoverers/serial/SerialDiscovery.java

Lines changed: 69 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,29 +29,86 @@
2929

3030
package cc.arduino.packages.discoverers.serial;
3131

32+
import java.util.ArrayList;
33+
import java.util.List;
34+
import java.util.Map;
35+
import java.util.Timer;
36+
import java.util.TimerTask;
37+
3238
import cc.arduino.packages.BoardPort;
33-
import cc.arduino.packages.discoverers.SerialDiscovery;
39+
import cc.arduino.packages.Discovery;
3440
import processing.app.BaseNoGui;
3541
import processing.app.Platform;
3642
import processing.app.debug.TargetBoard;
3743

38-
import java.util.*;
39-
40-
public class SerialBoardsLister extends TimerTask {
44+
public class SerialDiscovery implements Discovery, Runnable {
4145

42-
private final SerialDiscovery serialDiscovery;
43-
private final List<BoardPort> boardPorts = new LinkedList<>();
44-
private List<String> oldPorts = new LinkedList<>();
46+
private Timer serialBoardsListerTimer;
47+
private final List<BoardPort> serialBoardPorts = new ArrayList<>();
48+
private final List<BoardPort> boardPorts = new ArrayList<>();
49+
private final List<String> oldPorts = new ArrayList<>();
4550
public boolean uploadInProgress = false;
4651
public boolean pausePolling = false;
4752
private BoardPort oldUploadBoardPort = null;
4853

49-
public SerialBoardsLister(SerialDiscovery serialDiscovery) {
50-
this.serialDiscovery = serialDiscovery;
54+
55+
@Override
56+
public List<BoardPort> listDiscoveredBoards() {
57+
return listDiscoveredBoards(false);
58+
}
59+
60+
@Override
61+
public List<BoardPort> listDiscoveredBoards(boolean complete) {
62+
if (complete) {
63+
return new ArrayList<>(serialBoardPorts);
64+
}
65+
List<BoardPort> onlineBoardPorts = new ArrayList<>();
66+
for (BoardPort port : serialBoardPorts) {
67+
if (port.isOnline() == true) {
68+
onlineBoardPorts.add(port);
69+
}
70+
}
71+
return onlineBoardPorts;
72+
}
73+
74+
public void setSerialBoardPorts(List<BoardPort> newSerialBoardPorts) {
75+
serialBoardPorts.clear();
76+
serialBoardPorts.addAll(newSerialBoardPorts);
77+
}
78+
79+
public void forceRefresh() {
80+
retriggerDiscovery(false);
81+
}
82+
83+
public void setUploadInProgress(boolean param) {
84+
uploadInProgress = param;
5185
}
5286

53-
public void start(Timer timer) {
54-
timer.schedule(this, 0, 1000);
87+
public void pausePolling(boolean param) {
88+
pausePolling = param;
89+
}
90+
91+
@Override
92+
public void run() {
93+
start();
94+
}
95+
96+
@Override
97+
public void start() {
98+
serialBoardsListerTimer = new Timer(SerialDiscovery.class.getName());
99+
serialBoardsListerTimer.schedule(new TimerTask() {
100+
@Override
101+
public void run() {
102+
if (BaseNoGui.packages != null) {
103+
retriggerDiscovery(true);
104+
}
105+
}
106+
}, 0, 1000);
107+
}
108+
109+
@Override
110+
public void stop() {
111+
serialBoardsListerTimer.cancel();
55112
}
56113

57114
public synchronized void retriggerDiscovery(boolean polled) {
@@ -171,14 +228,6 @@ public synchronized void retriggerDiscovery(boolean polled) {
171228
boardPorts.add(boardPort);
172229
}
173230
}
174-
serialDiscovery.setSerialBoardPorts(boardPorts);
175-
}
176-
177-
@Override
178-
public void run() {
179-
if (BaseNoGui.packages == null) {
180-
return;
181-
}
182-
retriggerDiscovery(true);
231+
setSerialBoardPorts(boardPorts);
183232
}
184233
}

0 commit comments

Comments
 (0)