mirror of
https://github.com/arduino/Arduino.git
synced 2025-03-14 11:29:26 +01:00
Refactor: Removed code duplication in Export(App)Handlers
This commit is contained in:
parent
5428420e0a
commit
3f79d129bb
@ -226,8 +226,8 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
Runnable presentHandler;
|
Runnable presentHandler;
|
||||||
private Runnable runAndSaveHandler;
|
private Runnable runAndSaveHandler;
|
||||||
private Runnable presentAndSaveHandler;
|
private Runnable presentAndSaveHandler;
|
||||||
Runnable exportHandler;
|
private UploadHandler uploadHandler;
|
||||||
private Runnable exportAppHandler;
|
private UploadHandler uploadUsingProgrammerHandler;
|
||||||
private Runnable timeoutUploadHandler;
|
private Runnable timeoutUploadHandler;
|
||||||
|
|
||||||
private Map<String, Tool> internalToolCache = new HashMap<String, Tool>();
|
private Map<String, Tool> internalToolCache = new HashMap<String, Tool>();
|
||||||
@ -1376,8 +1376,10 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
presentHandler = new BuildHandler(true);
|
presentHandler = new BuildHandler(true);
|
||||||
runAndSaveHandler = new BuildHandler(false, true);
|
runAndSaveHandler = new BuildHandler(false, true);
|
||||||
presentAndSaveHandler = new BuildHandler(true, true);
|
presentAndSaveHandler = new BuildHandler(true, true);
|
||||||
exportHandler = new DefaultExportHandler();
|
uploadHandler = new UploadHandler();
|
||||||
exportAppHandler = new DefaultExportAppHandler();
|
uploadHandler.setUsingProgrammer(false);
|
||||||
|
uploadUsingProgrammerHandler = new UploadHandler();
|
||||||
|
uploadUsingProgrammerHandler.setUsingProgrammer(true);
|
||||||
timeoutUploadHandler = new TimeoutUploadHandler();
|
timeoutUploadHandler = new TimeoutUploadHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2007,13 +2009,17 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
avoidMultipleOperations = true;
|
avoidMultipleOperations = true;
|
||||||
|
|
||||||
new Thread(timeoutUploadHandler).start();
|
new Thread(timeoutUploadHandler).start();
|
||||||
new Thread(usingProgrammer ? exportAppHandler : exportHandler).start();
|
new Thread(usingProgrammer ? uploadUsingProgrammerHandler : uploadHandler).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
// DAM: in Arduino, this is upload
|
class UploadHandler implements Runnable {
|
||||||
class DefaultExportHandler implements Runnable {
|
boolean usingProgrammer = false;
|
||||||
public void run() {
|
|
||||||
|
|
||||||
|
public void setUsingProgrammer(boolean usingProgrammer) {
|
||||||
|
this.usingProgrammer = usingProgrammer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() {
|
||||||
try {
|
try {
|
||||||
removeAllLineHighlights();
|
removeAllLineHighlights();
|
||||||
if (serialMonitor != null) {
|
if (serialMonitor != null) {
|
||||||
@ -2025,7 +2031,7 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
|
|
||||||
uploading = true;
|
uploading = true;
|
||||||
|
|
||||||
boolean success = sketchController.exportApplet(false);
|
boolean success = sketchController.exportApplet(usingProgrammer);
|
||||||
if (success) {
|
if (success) {
|
||||||
statusNotice(tr("Done uploading."));
|
statusNotice(tr("Done uploading."));
|
||||||
}
|
}
|
||||||
@ -2108,55 +2114,6 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// DAM: in Arduino, this is upload (with verbose output)
|
|
||||||
class DefaultExportAppHandler implements Runnable {
|
|
||||||
public void run() {
|
|
||||||
|
|
||||||
try {
|
|
||||||
if (serialMonitor != null) {
|
|
||||||
serialMonitor.suspend();
|
|
||||||
}
|
|
||||||
if (serialPlotter != null) {
|
|
||||||
serialPlotter.suspend();
|
|
||||||
}
|
|
||||||
|
|
||||||
uploading = true;
|
|
||||||
|
|
||||||
boolean success = sketchController.exportApplet(true);
|
|
||||||
if (success) {
|
|
||||||
statusNotice(tr("Done uploading."));
|
|
||||||
}
|
|
||||||
} catch (SerialNotFoundException e) {
|
|
||||||
if (portMenu.getItemCount() == 0) statusError(e);
|
|
||||||
else if (serialPrompt()) run();
|
|
||||||
else statusNotice(tr("Upload canceled."));
|
|
||||||
} catch (PreferencesMapException e) {
|
|
||||||
statusError(I18n.format(
|
|
||||||
tr("Error while uploading: missing '{0}' configuration parameter"),
|
|
||||||
e.getMessage()));
|
|
||||||
} catch (RunnerException e) {
|
|
||||||
//statusError("Error during upload.");
|
|
||||||
//e.printStackTrace();
|
|
||||||
status.unprogress();
|
|
||||||
statusError(e);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} finally {
|
|
||||||
avoidMultipleOperations = false;
|
|
||||||
populatePortMenu();
|
|
||||||
}
|
|
||||||
status.unprogress();
|
|
||||||
uploading = false;
|
|
||||||
//toolbar.clear();
|
|
||||||
toolbar.deactivateExport();
|
|
||||||
|
|
||||||
resumeOrCloseSerialMonitor();
|
|
||||||
resumeOrCloseSerialPlotter();
|
|
||||||
|
|
||||||
base.onBoardOrPortChange();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class TimeoutUploadHandler implements Runnable {
|
class TimeoutUploadHandler implements Runnable {
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user